aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-12-09 18:00:06 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-12-09 18:00:06 +0200
commit70695bead40f97825357e620394918d1a248bf1a (patch)
treed439f53a5d954307f438aac7c29f9ca051503583 /interpreter.py
parent0585a959d3bc7e71c896d53ed4f9c74ba49f4825 (diff)
downloadmeson-70695bead40f97825357e620394918d1a248bf1a.zip
meson-70695bead40f97825357e620394918d1a248bf1a.tar.gz
meson-70695bead40f97825357e620394918d1a248bf1a.tar.bz2
Added possibility to have multiple test suites so you can run only a subset of tests. Closes #325.
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/interpreter.py b/interpreter.py
index e7f7a3a..8ba2b78 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -528,9 +528,10 @@ class RunTargetHolder(InterpreterObject):
self.held_object = build.RunTarget(name, command, args, subdir)
class Test(InterpreterObject):
- def __init__(self, name, exe, is_parallel, cmd_args, env, should_fail, valgrind_args, timeout, workdir):
+ def __init__(self, name, suite, exe, is_parallel, cmd_args, env, should_fail, valgrind_args, timeout, workdir):
InterpreterObject.__init__(self)
self.name = name
+ self.suite = suite
self.exe = exe
self.is_parallel = is_parallel
self.cmd_args = cmd_args
@@ -1378,9 +1379,9 @@ class Interpreter():
self.parse_default_options(kwargs['default_options'])
self.active_projectname = args[0]
self.project_version = kwargs.get('version', 'undefined')
- license = mesonlib.stringlistify(kwargs.get('license', 'unknown'))
+ proj_license = mesonlib.stringlistify(kwargs.get('license', 'unknown'))
self.build.dep_manifest[args[0]] = {'version': self.project_version,
- 'license': license}
+ 'license': proj_license}
if self.subproject in self.build.projects:
raise InvalidCode('Second call to project().')
if not self.is_subproject() and 'subproject_dir' in kwargs:
@@ -1734,7 +1735,10 @@ class Interpreter():
workdir = None
if not isinstance(timeout, int):
raise InterpreterException('Timeout must be an integer.')
- t = Test(args[0], args[1].held_object, par, cmd_args, env, should_fail, valgrind_args, timeout, workdir)
+ suite = kwargs.get('suite', '')
+ if self.is_subproject():
+ suite = self.subproject.replace(' ', '_') + ':' + suite
+ t = Test(args[0], suite, args[1].held_object, par, cmd_args, env, should_fail, valgrind_args, timeout, workdir)
if is_base_test:
self.build.tests.append(t)
mlog.debug('Adding test "', mlog.bold(args[0]), '".', sep='')