diff options
author | Stian Selnes <stian@pexip.com> | 2018-11-12 10:33:49 +0100 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-11-12 16:23:59 +0530 |
commit | 0821462ce382541e120d8d6cfc1a3224a492b275 (patch) | |
tree | 67ca584e5f619ab6beabdc67c930f83ceb7df658 /mesonbuild | |
parent | 50b2ef7354b503ae62abd504cdce938c390b358f (diff) | |
download | meson-0821462ce382541e120d8d6cfc1a3224a492b275.zip meson-0821462ce382541e120d8d6cfc1a3224a492b275.tar.gz meson-0821462ce382541e120d8d6cfc1a3224a492b275.tar.bz2 |
Add kwarg is_default to add_test_setup()
is_default may be used to set the name of the test setup that will be
used by default whenever the option --setup is not given.
Fixes #4430
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/build.py | 1 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 8 | ||||
-rw-r--r-- | mesonbuild/mtest.py | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 03a1f64..c0f4564 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -135,6 +135,7 @@ class Build: self.dep_manifest = {} self.cross_stdlibs = {} self.test_setups = {} + self.test_setup_default_name = None self.find_overrides = {} self.searched_programs = set() # The list of all programs that have been searched for. diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 86b761e..df74cc0 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3733,6 +3733,14 @@ different subdirectory. timeout_multiplier = kwargs.get('timeout_multiplier', 1) if not isinstance(timeout_multiplier, int): raise InterpreterException('Timeout multiplier must be a number.') + is_default = kwargs.get('is_default', False) + if not isinstance(is_default, bool): + raise InterpreterException('is_default option must be a boolean') + if is_default: + if self.build.test_setup_default_name is not None: + raise InterpreterException('\'%s\' is already set as default. ' + 'is_default can be set to true only once' % self.build.test_setup_default_name) + self.build.test_setup_default_name = setup_name env = self.unpack_env_kwarg(kwargs) self.build.test_setups[setup_name] = build.TestSetup(exe_wrapper=exe_wrapper, gdb=gdb, diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py index 883e556..a5a3626 100644 --- a/mesonbuild/mtest.py +++ b/mesonbuild/mtest.py @@ -450,6 +450,8 @@ class TestHarness: def get_test_runner(self, test): options = deepcopy(self.options) + if not options.setup: + options.setup = self.build_data.test_setup_default_name if options.setup: env = self.merge_suite_options(options, test) else: |