summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-10-10 09:14:05 -0400
committerXavier Claessens <xclaesse@gmail.com>2025-10-11 18:32:48 -0400
commit019d9600d63d50d8f933333ffd5b6dbe253f0912 (patch)
treee261b1b2e560276c27ddfa33966b1eac938b8569 /test cases
parentf27ba93319ca9c3ae677952941717e072126228b (diff)
downloadmeson-019d9600d63d50d8f933333ffd5b6dbe253f0912.tar.gz
Avoid running overriden program to get its version
The parent `__init__` was setting cached_version back to None. This fixes a regression caused by https://github.com/mesonbuild/meson/pull/8885.
Diffstat (limited to 'test cases')
-rwxr-xr-xtest cases/common/182 find override/broken.py3
-rw-r--r--test cases/common/182 find override/meson.build10
2 files changed, 12 insertions, 1 deletions
diff --git a/test cases/common/182 find override/broken.py b/test cases/common/182 find override/broken.py
new file mode 100755
index 000000000..e7c2af096
--- /dev/null
+++ b/test cases/common/182 find override/broken.py
@@ -0,0 +1,3 @@
+#! /usr/bin/env python3
+
+raise SystemExit(1)
diff --git a/test cases/common/182 find override/meson.build b/test cases/common/182 find override/meson.build
index edb16873f..7f6899189 100644
--- a/test cases/common/182 find override/meson.build
+++ b/test cases/common/182 find override/meson.build
@@ -1,4 +1,4 @@
-project('find program override', 'c')
+project('find program override', 'c', version: '1.0.0')
gencodegen = find_program('gencodegen', required : false)
six_prog = find_program('six_meson_exe', required : false)
@@ -29,3 +29,11 @@ assert(six_prog.full_path() == six_prog.path())
prog = find_program('prog-version.py', 'prog-version', version: '>= 2.0')
assert(prog.found())
assert(prog.version() == '2.0')
+
+# Meson should not invoke the script to get its version, it uses current project
+# version.
+script = files('broken.py')
+meson.override_find_program('broken', script)
+prog = find_program('broken', version: '>= 1.0')
+assert(prog.found())
+assert(prog.version() == '1.0.0')