aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-02-02 09:27:16 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-02-02 11:23:33 +0100
commitc7c2bc8db111a5be277aeb14aecfe0d28ab286a9 (patch)
tree127faceadf8c8299c65e0c8fd41b5991e5a76cee /mesonbuild/interpreter.py
parente7b587c81fdea066d258517e9c4862e57cb22e02 (diff)
downloadmeson-c7c2bc8db111a5be277aeb14aecfe0d28ab286a9.zip
meson-c7c2bc8db111a5be277aeb14aecfe0d28ab286a9.tar.gz
meson-c7c2bc8db111a5be277aeb14aecfe0d28ab286a9.tar.bz2
interpreter, mtest: introduce add_test_setup(exclude_suites: ...)
This new keyword argument makes it possible to run specific test setups only on a subset of the tests. For example, to mark some tests as slow and avoid running them by default: add_test_setup('quick', exclude_suites: ['slow'], is_default: true) add_test_setup('slow') It will then be possible to run the slow tests with either `meson test --setup slow` or `meson test --suite slow`.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 0ce0fe8..586e94e 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2300,7 +2300,8 @@ permitted_kwargs = {'add_global_arguments': {'language', 'native'},
'add_languages': {'required', 'native'},
'add_project_link_arguments': {'language', 'native'},
'add_project_arguments': {'language', 'native'},
- 'add_test_setup': {'exe_wrapper', 'gdb', 'timeout_multiplier', 'env', 'is_default'},
+ 'add_test_setup': {'exe_wrapper', 'gdb', 'timeout_multiplier', 'env', 'is_default',
+ 'exclude_suites'},
'benchmark': _base_test_args,
'build_target': known_build_target_kwargs,
'configure_file': {'input',
@@ -4687,8 +4688,10 @@ different subdirectory.
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
+ exclude_suites = mesonlib.stringlistify(kwargs.get('exclude_suites', []))
env = self.unpack_env_kwarg(kwargs)
- self.build.test_setups[setup_name] = build.TestSetup(exe_wrapper, gdb, timeout_multiplier, env)
+ self.build.test_setups[setup_name] = build.TestSetup(exe_wrapper, gdb, timeout_multiplier, env,
+ exclude_suites)
@permittedKwargs(permitted_kwargs['add_global_arguments'])
@stringArgs