diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2020-05-06 23:57:44 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-06 23:57:44 +0300 |
commit | 4ea7c6ee123b3a86a40d0b67c25562aa2405524a (patch) | |
tree | 23ed1fd2f6ee6e2be297147f504770a3d3247aa8 /mesonbuild/interpreter.py | |
parent | ec8db6a1b53072a08674bf2b4301dee7ab3dd589 (diff) | |
parent | dbe00dfe95e9630bd733a45f32076bab6ff80226 (diff) | |
download | meson-4ea7c6ee123b3a86a40d0b67c25562aa2405524a.zip meson-4ea7c6ee123b3a86a40d0b67c25562aa2405524a.tar.gz meson-4ea7c6ee123b3a86a40d0b67c25562aa2405524a.tar.bz2 |
Merge pull request #7064 from dcbaker/gtest-protocol
Add support for Gtest as a test protocol
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 6ec4c0e..a3e9dee 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -33,6 +33,7 @@ from .interpreterbase import FeatureNew, FeatureDeprecated, FeatureNewKwargs from .interpreterbase import ObjectHolder from .modules import ModuleReturnValue from .cmake import CMakeInterpreter +from .backend.backends import TestProtocol from pathlib import Path, PurePath import os @@ -979,7 +980,7 @@ class Test(InterpreterObject): self.should_fail = should_fail self.timeout = timeout self.workdir = workdir - self.protocol = protocol + self.protocol = TestProtocol.from_str(protocol) self.priority = priority def get_exe(self): @@ -3821,6 +3822,8 @@ This will become a hard error in the future.''' % kwargs['input'], location=self @FeatureNewKwargs('test', '0.52.0', ['priority']) @permittedKwargs(permitted_kwargs['test']) def func_test(self, node, args, kwargs): + if kwargs.get('protocol') == 'gtest': + FeatureNew('"gtest" protocol for tests', '0.55.0').use(self.subproject) self.add_test(node, args, kwargs, True) def unpack_env_kwarg(self, kwargs) -> build.EnvironmentVariables: @@ -3872,8 +3875,8 @@ This will become a hard error in the future.''' % kwargs['input'], location=self if not isinstance(timeout, int): raise InterpreterException('Timeout must be an integer.') protocol = kwargs.get('protocol', 'exitcode') - if protocol not in ('exitcode', 'tap'): - raise InterpreterException('Protocol must be "exitcode" or "tap".') + if protocol not in {'exitcode', 'tap', 'gtest'}: + raise InterpreterException('Protocol must be "exitcode", "tap", or "gtest".') suite = [] prj = self.subproject if self.is_subproject() else self.build.project_name for s in mesonlib.stringlistify(kwargs.get('suite', '')): |