aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-06-29 17:39:57 +0200
committerDylan Baker <dylan@pnwbakers.com>2019-07-01 11:28:54 -0700
commit54b1c43277d16dcef2d8acc98d131ab9232d2fac (patch)
treeee010cc42a385159b096d2b77a84eda59cec215d /run_unittests.py
parentba6c0cab8fd516c414c3f5cb76bebc0d93b50e30 (diff)
downloadmeson-54b1c43277d16dcef2d8acc98d131ab9232d2fac.zip
meson-54b1c43277d16dcef2d8acc98d131ab9232d2fac.tar.gz
meson-54b1c43277d16dcef2d8acc98d131ab9232d2fac.tar.bz2
mintro: Add installed subdirs introspection (fixes #5556)
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 602c6b7..90e5c9d 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1695,6 +1695,34 @@ class AllPlatformTests(BasePlatformTests):
self.assertPathListEqual(intro[0]['install_filename'], ['/usr/lib/libstat.a'])
self.assertPathListEqual(intro[1]['install_filename'], ['/usr/bin/prog' + exe_suffix])
+ def test_install_subdir_introspection(self):
+ '''
+ Test that the Meson introspection API also contains subdir install information
+ https://github.com/mesonbuild/meson/issues/5556
+ '''
+ testdir = os.path.join(self.common_test_dir, '63 install subdir')
+ self.init(testdir)
+ intro = self.introspect('--installed')
+ expected = {
+ 'sub2': 'share/sub2',
+ 'subdir/sub1': 'share/sub1',
+ 'subdir/sub_elided': 'share',
+ 'sub1': 'share/sub1',
+ 'sub/sub1': 'share/sub1',
+ 'sub_elided': 'share',
+ 'nested_elided/sub': 'share',
+ }
+
+ self.assertEqual(len(intro), len(expected))
+
+ # Convert expected to PurePath
+ expected_converted = {PurePath(os.path.join(testdir, key)): PurePath(os.path.join(self.prefix, val)) for key, val in expected.items()}
+ intro_converted = {PurePath(key): PurePath(val) for key, val in intro.items()}
+
+ for src, dst in expected_converted.items():
+ self.assertIn(src, intro_converted)
+ self.assertEqual(dst, intro_converted[src])
+
def test_install_introspection_multiple_outputs(self):
'''
Tests that the Meson introspection API exposes multiple install filenames correctly without crashing