diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-03-04 12:57:40 -0800 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2025-03-06 23:01:53 -0500 |
| commit | f64cda3d80f34db42cc59fefd3abbe904fc3231a (patch) | |
| tree | 73166ee94b18f44bc9771131ea6a75e50fc1ac72 /unittests/linuxliketests.py | |
| parent | e7a405c7e2a384e68c39ee3d6397a974df4df36f (diff) | |
| download | meson-f64cda3d80f34db42cc59fefd3abbe904fc3231a.tar.gz | |
unittests: Use more subtests
Diffstat (limited to 'unittests/linuxliketests.py')
| -rw-r--r-- | unittests/linuxliketests.py | 78 |
1 files changed, 44 insertions, 34 deletions
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py index 2b5643620..08eb4b93a 100644 --- a/unittests/linuxliketests.py +++ b/unittests/linuxliketests.py @@ -43,7 +43,7 @@ PKG_CONFIG = os.environ.get('PKG_CONFIG', 'pkg-config') from run_tests import ( - get_fake_env + get_fake_env, Backend, ) from .baseplatformtests import BasePlatformTests @@ -1876,47 +1876,57 @@ class LinuxlikeTests(BasePlatformTests): self.assertTrue(False, f'Source {src} not found in compdb') def test_persp_options(self): + if self.backend is not Backend.ninja: + raise SkipTest(f'{self.backend.name!r} backend can\'t install files') + testdir = os.path.join(self.unit_test_dir, '123 persp options') - self.init(testdir, extra_args='-Doptimization=1') - compdb = self.get_compdb() - mainsrc = 'toplevel.c' - sub1src = 'sub1.c' - sub2src = 'sub2.c' - self.check_has_flag(compdb, mainsrc, '-O1') - self.check_has_flag(compdb, sub1src, '-O1') - self.check_has_flag(compdb, sub2src, '-O1') + + with self.subTest('init'): + self.init(testdir, extra_args='-Doptimization=1') + compdb = self.get_compdb() + mainsrc = 'toplevel.c' + sub1src = 'sub1.c' + sub2src = 'sub2.c' + self.check_has_flag(compdb, mainsrc, '-O1') + self.check_has_flag(compdb, sub1src, '-O1') + self.check_has_flag(compdb, sub2src, '-O1') # Set subproject option to O2 - self.setconf(['-Dround=2', '-D', 'sub2:optimization=3']) - compdb = self.get_compdb() - self.check_has_flag(compdb, mainsrc, '-O1') - self.check_has_flag(compdb, sub1src, '-O1') - self.check_has_flag(compdb, sub2src, '-O3') + with self.subTest('set subproject option'): + self.setconf(['-Dround=2', '-D', 'sub2:optimization=3']) + compdb = self.get_compdb() + self.check_has_flag(compdb, mainsrc, '-O1') + self.check_has_flag(compdb, sub1src, '-O1') + self.check_has_flag(compdb, sub2src, '-O3') # Change an already set override. - self.setconf(['-Dround=3', '-D', 'sub2:optimization=2']) - compdb = self.get_compdb() - self.check_has_flag(compdb, mainsrc, '-O1') - self.check_has_flag(compdb, sub1src, '-O1') - self.check_has_flag(compdb, sub2src, '-O2') + with self.subTest('change subproject option'): + self.setconf(['-Dround=3', '-D', 'sub2:optimization=2']) + compdb = self.get_compdb() + self.check_has_flag(compdb, mainsrc, '-O1') + self.check_has_flag(compdb, sub1src, '-O1') + self.check_has_flag(compdb, sub2src, '-O2') # Set top level option to O3 - self.setconf(['-Dround=4', '-D:optimization=3']) - compdb = self.get_compdb() - self.check_has_flag(compdb, mainsrc, '-O3') - self.check_has_flag(compdb, sub1src, '-O1') - self.check_has_flag(compdb, sub2src, '-O2') + with self.subTest('change main project option'): + self.setconf(['-Dround=4', '-D:optimization=3']) + compdb = self.get_compdb() + self.check_has_flag(compdb, mainsrc, '-O3') + self.check_has_flag(compdb, sub1src, '-O1') + self.check_has_flag(compdb, sub2src, '-O2') # Unset subproject - self.setconf(['-Dround=5', '-U', 'sub2:optimization']) - compdb = self.get_compdb() - self.check_has_flag(compdb, mainsrc, '-O3') - self.check_has_flag(compdb, sub1src, '-O1') - self.check_has_flag(compdb, sub2src, '-O1') + with self.subTest('unset subproject option'): + self.setconf(['-Dround=5', '-U', 'sub2:optimization']) + compdb = self.get_compdb() + self.check_has_flag(compdb, mainsrc, '-O3') + self.check_has_flag(compdb, sub1src, '-O1') + self.check_has_flag(compdb, sub2src, '-O1') # Set global value - self.setconf(['-Dround=6', '-D', 'optimization=2']) - compdb = self.get_compdb() - self.check_has_flag(compdb, mainsrc, '-O3') - self.check_has_flag(compdb, sub1src, '-O2') - self.check_has_flag(compdb, sub2src, '-O2') + with self.subTest('set global option'): + self.setconf(['-Dround=6', '-D', 'optimization=2']) + compdb = self.get_compdb() + self.check_has_flag(compdb, mainsrc, '-O3') + self.check_has_flag(compdb, sub1src, '-O2') + self.check_has_flag(compdb, sub2src, '-O2') |
