aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mtest.py
diff options
context:
space:
mode:
authorHemmo Nieminen <hemmo.nieminen@iki.fi>2017-09-10 10:15:50 +0300
committerHemmo Nieminen <hemmo.nieminen@iki.fi>2018-02-25 21:44:59 +0200
commitabcaf7c222c9e74774f7f5396e16cac40774c236 (patch)
tree74ce5abe1455bf34134a886c6940a8c90b35a282 /mesonbuild/mtest.py
parentec286d497085a297bac12514ef2ddeb730ebd9bc (diff)
downloadmeson-abcaf7c222c9e74774f7f5396e16cac40774c236.zip
meson-abcaf7c222c9e74774f7f5396e16cac40774c236.tar.gz
meson-abcaf7c222c9e74774f7f5396e16cac40774c236.tar.bz2
Namespace test setups.
Use $project_name:$test_setup namespace scheme for test setups. This allows one to choose from which (sub)project a test setup is taken from should there be several sharing the same name. Defaults to the main project. E.g. "meson test --setup subproj:valgrind".
Diffstat (limited to 'mesonbuild/mtest.py')
-rw-r--r--mesonbuild/mtest.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index a697106..8480e3d 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -446,7 +446,7 @@ TIMEOUT: %4d
if self.options.wrapper:
namebase = os.path.basename(self.get_wrapper()[0])
elif self.options.setup:
- namebase = self.options.setup
+ namebase = self.options.setup.replace(":", "_")
if namebase:
logfile_base += '-' + namebase.replace(' ', '_')
@@ -553,10 +553,11 @@ def merge_suite_options(options):
buildfile = os.path.join(options.wd, 'meson-private/build.dat')
with open(buildfile, 'rb') as f:
build = pickle.load(f)
- setups = build.test_setups
- if options.setup not in setups:
+ if ":" not in options.setup:
+ options.setup = (build.subproject if build.subproject else build.project_name) + ":" + options.setup
+ if options.setup not in build.test_setups:
sys.exit('Unknown test setup: %s' % options.setup)
- current = setups[options.setup]
+ current = build.test_setups[options.setup]
if not options.gdb:
options.gdb = current.gdb
if options.timeout_multiplier is None: