aboutsummaryrefslogtreecommitdiff
path: root/run_meson_command_tests.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-08-12 00:55:04 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-08-12 01:18:58 +0530
commitc0413f5d49ce7b7df03cf859841aa8b275a6cd6d (patch)
tree287c25cd3f04838be712b8de4263e48a34f5ae47 /run_meson_command_tests.py
parent86298f2109d215ad6b26d3462af7b685d52d0dd7 (diff)
downloadmeson-c0413f5d49ce7b7df03cf859841aa8b275a6cd6d.zip
meson-c0413f5d49ce7b7df03cf859841aa8b275a6cd6d.tar.gz
meson-c0413f5d49ce7b7df03cf859841aa8b275a6cd6d.tar.bz2
setup: Add tests for the installed files list
Ensure that the installed files list matches what we expect, to avoid surprises at release time.
Diffstat (limited to 'run_meson_command_tests.py')
-rwxr-xr-xrun_meson_command_tests.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py
index f38b89a..4a05b94 100755
--- a/run_meson_command_tests.py
+++ b/run_meson_command_tests.py
@@ -131,8 +131,22 @@ class CommandTests(unittest.TestCase):
os.environ['PYTHONPATH'] = str(pylibdir)
os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
self._run(python_command + ['setup.py', 'install', '--prefix', str(prefix)])
- self.assertTrue(pylibdir.is_dir())
+ # Check that all the files were installed correctly
self.assertTrue(bindir.is_dir())
+ self.assertTrue(pylibdir.is_dir())
+ from setup import packages
+ # Extract list of expected python module files
+ expect = set()
+ for pkg in packages:
+ expect.update([p.as_posix() for p in Path(pkg.replace('.', '/')).glob('*.py')])
+ # Check what was installed, only count files that are inside 'mesonbuild'
+ have = set()
+ for p in Path(pylibdir).glob('**/*.py'):
+ s = p.as_posix()
+ if 'mesonbuild' not in s:
+ continue
+ have.add(s[s.rfind('mesonbuild'):])
+ self.assertEqual(have, expect)
# Run `meson`
os.chdir('/')
resolved_meson_command = [str(bindir / 'meson')]