aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/mesonlib.py6
-rwxr-xr-xrun_unittests.py9
-rw-r--r--test cases/unit/41 featurenew subprojects/meson.build1
-rw-r--r--test cases/unit/41 featurenew subprojects/subprojects/baz/meson.build3
4 files changed, 12 insertions, 7 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 05a77cd..8a2dc0c 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -493,9 +493,9 @@ def version_compare_condition_with_min(condition, minimum):
cmpop = operator.le
condition = condition[2:]
elif condition.startswith('<='):
- return True
+ return False
elif condition.startswith('!='):
- return True
+ return False
elif condition.startswith('=='):
cmpop = operator.le
condition = condition[2:]
@@ -506,7 +506,7 @@ def version_compare_condition_with_min(condition, minimum):
cmpop = operator.lt
condition = condition[1:]
elif condition.startswith('<'):
- return True
+ return False
else:
cmpop = operator.le
diff --git a/run_unittests.py b/run_unittests.py
index 09d1c5e..214bc16 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -2660,13 +2660,14 @@ recommended as it is not supported on some platforms''')
out = self.init(testdir)
# Parent project warns correctly
self.assertRegex(out, "WARNING: Project targetting '>=0.45'.*'0.47.0': dict")
- # Subproject warns correctly
- self.assertRegex(out, "|WARNING: Project targetting '>=0.40'.*'0.44.0': disabler")
+ # Subprojects warn correctly
+ self.assertRegex(out, r"\|WARNING: Project targetting '>=0.40'.*'0.44.0': disabler")
+ self.assertRegex(out, r"\|WARNING: Project targetting '!=0.40'.*'0.44.0': disabler")
# Subproject has a new-enough meson_version, no warning
self.assertNotRegex(out, "WARNING: Project targetting.*Python")
# Ensure a summary is printed in the subproject and the outer project
- self.assertRegex(out, "|WARNING: Project specifies a minimum meson_version '>=0.40'")
- self.assertRegex(out, "| * 0.44.0: {'disabler'}")
+ self.assertRegex(out, r"\|WARNING: Project specifies a minimum meson_version '>=0.40'")
+ self.assertRegex(out, r"\| \* 0.44.0: {'disabler'}")
self.assertRegex(out, "WARNING: Project specifies a minimum meson_version '>=0.45'")
self.assertRegex(out, " * 0.47.0: {'dict'}")
diff --git a/test cases/unit/41 featurenew subprojects/meson.build b/test cases/unit/41 featurenew subprojects/meson.build
index 27898cd..d136bed 100644
--- a/test cases/unit/41 featurenew subprojects/meson.build
+++ b/test cases/unit/41 featurenew subprojects/meson.build
@@ -4,3 +4,4 @@ foo = {}
subproject('foo')
subproject('bar')
+subproject('baz')
diff --git a/test cases/unit/41 featurenew subprojects/subprojects/baz/meson.build b/test cases/unit/41 featurenew subprojects/subprojects/baz/meson.build
new file mode 100644
index 0000000..811e7aa
--- /dev/null
+++ b/test cases/unit/41 featurenew subprojects/subprojects/baz/meson.build
@@ -0,0 +1,3 @@
+project('baz subproject', meson_version: '!=0.40')
+
+disabler()