aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-08-14 17:41:18 -0400
committerXavier Claessens <xclaesse@gmail.com>2020-09-02 12:55:31 -0400
commit9365486104dc66ee05d5bfaf97a0e83ce9d1289d (patch)
tree778b787e9973e3b0eab2bf80903a2e77aeca3634 /test cases
parentbfb8d25deb794e9506775caa023bbf278dcf17e1 (diff)
downloadmeson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.zip
meson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.tar.gz
meson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.tar.bz2
Special case meson.version().version_compare() statement
when that statement gets evaluated, the interpreter remembers the version target and if it was part of the evaluation of a `if` condition then the target meson version is temporally overriden within that if-block. Fixes: #7590
Diffstat (limited to 'test cases')
-rw-r--r--test cases/unit/82 meson version compare/meson.build17
1 files changed, 17 insertions, 0 deletions
diff --git a/test cases/unit/82 meson version compare/meson.build b/test cases/unit/82 meson version compare/meson.build
new file mode 100644
index 0000000..ed69a8b
--- /dev/null
+++ b/test cases/unit/82 meson version compare/meson.build
@@ -0,0 +1,17 @@
+project('version compare', meson_version: '>= 0.1')
+
+if meson.version().version_compare('>= 9999')
+ error('This should not be executed')
+elif meson.version().version_compare('>= 0.55') and false
+ error('This should not be executed')
+elif not meson.version().version_compare('>= 0.55')
+ error('This should not be executed')
+elif meson.version().version_compare('>= 0.55')
+ # This Should not produce warning even when using function not available in
+ # meson 0.1.
+ foo_dep = declare_dependency()
+ meson.override_dependency('foo', foo_dep)
+endif
+
+# This will error out if elif cause did not enter
+assert(foo_dep.found(), 'meson.version_compare did not work')