summaryrefslogtreecommitdiff
path: root/test cases/common
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-05-24 09:39:01 -0400
committerXavier Claessens <xclaesse@gmail.com>2023-08-24 18:51:13 -0400
commitf720105e242111f4b68c0cb2aa77a4301a2fd10f (patch)
treed02ac5a61ef8386aa1d2555cbcd36815fe694c28 /test cases/common
parent6f87215f1f7c104de2f8720e3c0926bcffdc7232 (diff)
downloadmeson-f720105e242111f4b68c0cb2aa77a4301a2fd10f.tar.gz
find_program: Fallback if version mismatch
Fixes: #11797
Diffstat (limited to 'test cases/common')
-rw-r--r--test cases/common/182 find override/meson.build6
-rwxr-xr-xtest cases/common/182 find override/prog-version.py3
-rw-r--r--test cases/common/182 find override/subprojects/sub2.wrap5
-rw-r--r--test cases/common/182 find override/subprojects/sub2/meson.build4
-rwxr-xr-xtest cases/common/182 find override/subprojects/sub2/prog-version.py3
5 files changed, 21 insertions, 0 deletions
diff --git a/test cases/common/182 find override/meson.build b/test cases/common/182 find override/meson.build
index f21700140..edb16873f 100644
--- a/test cases/common/182 find override/meson.build
+++ b/test cases/common/182 find override/meson.build
@@ -23,3 +23,9 @@ six_prog = find_program('six_meson_exe')
assert(six_prog.found())
assert(six_prog.full_path() != '')
assert(six_prog.full_path() == six_prog.path())
+
+# We have prog-version.py in current directory, but it's version 1.0.
+# This needs to use fallback for "prog-version" name which will be version 2.0.
+prog = find_program('prog-version.py', 'prog-version', version: '>= 2.0')
+assert(prog.found())
+assert(prog.version() == '2.0')
diff --git a/test cases/common/182 find override/prog-version.py b/test cases/common/182 find override/prog-version.py
new file mode 100755
index 000000000..c00dd99df
--- /dev/null
+++ b/test cases/common/182 find override/prog-version.py
@@ -0,0 +1,3 @@
+#! /usr/bin/env python3
+
+print('1.0')
diff --git a/test cases/common/182 find override/subprojects/sub2.wrap b/test cases/common/182 find override/subprojects/sub2.wrap
new file mode 100644
index 000000000..035629fa8
--- /dev/null
+++ b/test cases/common/182 find override/subprojects/sub2.wrap
@@ -0,0 +1,5 @@
+[wrap-file]
+directory = sub2
+
+[provide]
+program_names = prog-version
diff --git a/test cases/common/182 find override/subprojects/sub2/meson.build b/test cases/common/182 find override/subprojects/sub2/meson.build
new file mode 100644
index 000000000..f542073c5
--- /dev/null
+++ b/test cases/common/182 find override/subprojects/sub2/meson.build
@@ -0,0 +1,4 @@
+project('sub2')
+
+prog = find_program('prog-version.py')
+meson.override_find_program('prog-version', prog)
diff --git a/test cases/common/182 find override/subprojects/sub2/prog-version.py b/test cases/common/182 find override/subprojects/sub2/prog-version.py
new file mode 100755
index 000000000..78401bb20
--- /dev/null
+++ b/test cases/common/182 find override/subprojects/sub2/prog-version.py
@@ -0,0 +1,3 @@
+#! /usr/bin/env python3
+
+print('2.0')