diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index a3fa050..f317652 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -4140,6 +4140,10 @@ This will become a hard error in the future.''' % kwargs['input'], location=self if not isinstance(should_fail, bool): raise InterpreterException('Keyword argument should_fail must be a boolean.') timeout = kwargs.get('timeout', 30) + if not isinstance(timeout, int): + raise InterpreterException('Timeout must be an integer.') + if timeout <= 0: + FeatureNew('test() timeout <= 0', '0.57.0').use(self.subproject) if 'workdir' in kwargs: workdir = kwargs['workdir'] if not isinstance(workdir, str): @@ -4148,8 +4152,6 @@ This will become a hard error in the future.''' % kwargs['input'], location=self raise InterpreterException('Workdir keyword argument must be an absolute path.') else: workdir = None - if not isinstance(timeout, int): - raise InterpreterException('Timeout must be an integer.') protocol = kwargs.get('protocol', 'exitcode') if protocol not in {'exitcode', 'tap', 'gtest', 'rust'}: raise InterpreterException('Protocol must be one of "exitcode", "tap", "gtest", or "rust".') @@ -4638,6 +4640,8 @@ different subdirectory. timeout_multiplier = kwargs.get('timeout_multiplier', 1) if not isinstance(timeout_multiplier, int): raise InterpreterException('Timeout multiplier must be a number.') + if timeout_multiplier <= 0: + FeatureNew('add_test_setup() timeout_multiplier <= 0', '0.57.0').use(self.subproject) is_default = kwargs.get('is_default', False) if not isinstance(is_default, bool): raise InterpreterException('is_default option must be a boolean') |