aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-12-19 15:52:21 -0800
committerDylan Baker <dylan@pnwbakers.com>2018-01-06 13:49:34 -0800
commit4620bdd8b4ca6a5619ff2e963f661a8784b89a05 (patch)
treec040861a8649664b4b3dc09bf37986dc0890545c /run_unittests.py
parent10a560a411728f747c8394599ef95c9c8caa2086 (diff)
downloadmeson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.zip
meson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.tar.gz
meson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.tar.bz2
tests: fix rpath_uses_ORIGIN on dragonflybsd
Which always seems to prepend /usr/lib/gcc50 (or whatever version) to the rpath, and $ORIGIN after that.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 08ad632..f61544f 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -34,8 +34,10 @@ import mesonbuild.environment
import mesonbuild.mesonlib
import mesonbuild.coredata
from mesonbuild.interpreter import ObjectHolder
-from mesonbuild.mesonlib import is_linux, is_windows, is_osx, is_cygwin, windows_proof_rmtree
-from mesonbuild.mesonlib import python_command, meson_command, version_compare
+from mesonbuild.mesonlib import (
+ is_linux, is_windows, is_osx, is_cygwin, is_dragonflybsd,
+ windows_proof_rmtree, python_command, meson_command, version_compare,
+)
from mesonbuild.environment import Environment, detect_ninja
from mesonbuild.mesonlib import MesonException, EnvironmentException
from mesonbuild.dependencies import PkgConfigDependency, ExternalProgram
@@ -1386,12 +1388,24 @@ int main(int argc, char **argv) {
for each in ('prog', 'subdir/liblib1.so', ):
rpath = get_rpath(os.path.join(self.builddir, each))
self.assertTrue(rpath)
- for path in rpath.split(':'):
+ if is_dragonflybsd():
+ # DragonflyBSD will prepend /usr/lib/gccVERSION to the rpath,
+ # so ignore that.
+ self.assertTrue(rpath.startswith('/usr/lib/gcc'))
+ rpaths = rpath.split(':')[1:]
+ else:
+ rpaths = rpath.split(':')
+ for path in rpaths:
self.assertTrue(path.startswith('$ORIGIN'), msg=(each, path))
# These two don't link to anything else, so they do not need an rpath entry.
for each in ('subdir/subdir2/liblib2.so', 'subdir/subdir3/liblib3.so'):
rpath = get_rpath(os.path.join(self.builddir, each))
- self.assertTrue(rpath is None)
+ if is_dragonflybsd():
+ # The rpath should be equal to /usr/lib/gccVERSION
+ self.assertTrue(rpath.startswith('/usr/lib/gcc'))
+ self.assertEqual(len(rpath.split(':')), 1)
+ else:
+ self.assertTrue(rpath is None)
def test_dash_d_dedup(self):
testdir = os.path.join(self.unit_test_dir, '10 d dedup')