diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-12-11 21:51:36 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-12-11 21:51:36 +0200 |
commit | ba6191864d4a4461131081fef918796604a9ef28 (patch) | |
tree | 8415703981726d8c0defd601c7141ad0b782c152 /interpreter.py | |
parent | c2e163e655e0307787bfb2cba6f9018de2583fcd (diff) | |
parent | fcf6643507fa6db7dee9d844cedf53307f6174a4 (diff) | |
download | meson-ba6191864d4a4461131081fef918796604a9ef28.zip meson-ba6191864d4a4461131081fef918796604a9ef28.tar.gz meson-ba6191864d4a4461131081fef918796604a9ef28.tar.bz2 |
Merge pull request #327 from mesonbuild/suites
Added possibility to have multiple test suites.
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/interpreter.py b/interpreter.py index e7f7a3a..a11f753 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,13 @@ 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 = mesonlib.stringlistify(kwargs.get('suite', '')) + if self.is_subproject(): + newsuite = [] + for s in suite: + newsuite.append(self.subproject.replace(' ', '_').replace('.', '_') + '.' + s) + suite = newsuite + 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='') |