summaryrefslogtreecommitdiff
path: root/unittests/linuxliketests.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-03-04 12:57:40 -0800
committerEli Schwartz <eschwartz93@gmail.com>2025-03-06 23:01:53 -0500
commitf64cda3d80f34db42cc59fefd3abbe904fc3231a (patch)
tree73166ee94b18f44bc9771131ea6a75e50fc1ac72 /unittests/linuxliketests.py
parente7a405c7e2a384e68c39ee3d6397a974df4df36f (diff)
downloadmeson-f64cda3d80f34db42cc59fefd3abbe904fc3231a.tar.gz
unittests: Use more subtests
Diffstat (limited to 'unittests/linuxliketests.py')
-rw-r--r--unittests/linuxliketests.py78
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')