aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/interpreterbase/interpreterbase.py1
-rw-r--r--test cases/failing/131 invalid project function/meson.build1
-rw-r--r--test cases/failing/131 invalid project function/test.json9
-rw-r--r--test cases/failing/20 version/test.json2
4 files changed, 12 insertions, 1 deletions
diff --git a/mesonbuild/interpreterbase/interpreterbase.py b/mesonbuild/interpreterbase/interpreterbase.py
index 666045f..61b3f90 100644
--- a/mesonbuild/interpreterbase/interpreterbase.py
+++ b/mesonbuild/interpreterbase/interpreterbase.py
@@ -117,6 +117,7 @@ class InterpreterBase:
assert isinstance(code, str)
try:
self.ast = mparser.Parser(code, mesonfile).parse()
+ self.handle_meson_version_from_ast()
except mparser.ParseException as me:
me.file = mesonfile
# try to detect parser errors from new syntax added by future
diff --git a/test cases/failing/131 invalid project function/meson.build b/test cases/failing/131 invalid project function/meson.build
new file mode 100644
index 0000000..0032c9c
--- /dev/null
+++ b/test cases/failing/131 invalid project function/meson.build
@@ -0,0 +1 @@
+project('invalid project function with bad kwargs', meson_version: '0.1.0', unknown_kwarg: 'val')
diff --git a/test cases/failing/131 invalid project function/test.json b/test cases/failing/131 invalid project function/test.json
new file mode 100644
index 0000000..429fa18
--- /dev/null
+++ b/test cases/failing/131 invalid project function/test.json
@@ -0,0 +1,9 @@
+{
+ "stdout": [
+ {
+ "match": "re",
+ "line": "test cases/failing/131 invalid project function/meson.build:1:67: ERROR: Meson version is [0-9.]+ but project requires 0.1.0"
+ }
+ ]
+}
+
diff --git a/test cases/failing/20 version/test.json b/test cases/failing/20 version/test.json
index f330624..565fbf2 100644
--- a/test cases/failing/20 version/test.json
+++ b/test cases/failing/20 version/test.json
@@ -2,7 +2,7 @@
"stdout": [
{
"match": "re",
- "line": "test cases/failing/20 version/meson\\.build:1:0: ERROR: Meson version is .* but project requires >100\\.0\\.0"
+ "line": "test cases/failing/20 version/meson\\.build:1:44: ERROR: Meson version is .* but project requires >100\\.0\\.0"
}
]
}