diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 076ba7d21..a542ff69a 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1470,7 +1470,6 @@ class Interpreter(InterpreterBase): 'disabler': self.func_disabler, 'environment': self.func_environment, 'error': self.func_error, - 'exception': self.func_exception, 'executable': self.func_executable, 'generator': self.func_generator, 'gettext': self.func_gettext, @@ -1504,6 +1503,8 @@ class Interpreter(InterpreterBase): 'test': self.func_test, 'vcs_tag': self.func_vcs_tag, }) + if 'MESON_UNIT_TEST' in os.environ: + self.funcs.update({'exception': self.func_exception}) def holderify(self, item): if isinstance(item, list): diff --git a/run_unittests.py b/run_unittests.py index a520ad2b9..69f467bb2 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -1938,6 +1938,7 @@ class FailureTests(BasePlatformTests): Test exit status on python exception ''' tdir = os.path.join(self.unit_test_dir, '21 exit status') + os.environ['MESON_UNIT_TEST'] = '1' with self.assertRaises(subprocess.CalledProcessError) as cm: self.init(tdir, inprocess=False) self.assertEqual(cm.exception.returncode, 2)