aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-01-10 18:18:19 -0500
committerEli Schwartz <eschwartz@archlinux.org>2022-01-10 23:06:51 -0500
commit81fbcd1df48f669b6b23b9dd0752d6d366cc9bf2 (patch)
treecf23c1c21163d5a01076a23c100ee1c704176279
parentfe51450970638d2610519ff2f42b4892bbaab1e0 (diff)
downloadmeson-81fbcd1df48f669b6b23b9dd0752d6d366cc9bf2.zip
meson-81fbcd1df48f669b6b23b9dd0752d6d366cc9bf2.tar.gz
meson-81fbcd1df48f669b6b23b9dd0752d6d366cc9bf2.tar.bz2
fix broken module tests which caused gtkdoc-check to traceback on assert
Regression in commit 566c2c9a9c98d13f85ccef624e9ac584f64c6a4a. The interpreter details are a bit of black magic. Functions expect tuples, but they receive lists and then the type-checking decorators convert those to tuples. So, directly manhandling a self._interpreter.func_*() but passing it the tuple it nominally expected, actually explodes in your face by way of failing an assert, then dumping 'ERROR: Unhandled python exception'. Fixes use of gnome.gtkdoc(..., check: true), for example when building glib.
-rw-r--r--mesonbuild/modules/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
index 58e94a7..8fe61c6 100644
--- a/mesonbuild/modules/__init__.py
+++ b/mesonbuild/modules/__init__.py
@@ -91,8 +91,11 @@ class ModuleState:
'env': env,
'depends': depends,
}
+ # typed_* takes a list, and gives a tuple to func_test. Violating that constraint
+ # makes the universe (or at least use of this function) implode
+ real_args = list(args)
# TODO: Use interpreter internal API, but we need to go through @typed_kwargs
- self._interpreter.func_test(self.current_node, args, kwargs)
+ self._interpreter.func_test(self.current_node, real_args, kwargs)
def get_option(self, name: str, subproject: str = '',
machine: MachineChoice = MachineChoice.HOST,