summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorØyvind Aarrestad Aakre <oyvind.aakre@easee.no>2022-01-09 22:12:52 +0100
committerEli Schwartz <eschwartz93@gmail.com>2022-01-12 14:04:11 -0500
commit5b3094d43bae45b779fcbd859d4a883c8f6c9d77 (patch)
tree23a2322f607ef112ba5a1b9a7d2e67ed5eaabfec /test cases
parentbc8c1f578f635d870d0f03c0a34750212ac4287e (diff)
downloadmeson-5b3094d43bae45b779fcbd859d4a883c8f6c9d77.tar.gz
subproject: fix version validation on lookup
Fixes a bug where the subproject version was not validated when the subproject had already been processed. The bug would cause inconsistent build results if the subproject was referenced more than once (diamond) with conflicting version requirements.
Diffstat (limited to 'test cases')
-rw-r--r--test cases/failing/120 subproject version conflict/meson.build4
-rw-r--r--test cases/failing/120 subproject version conflict/subprojects/A/meson.build4
-rw-r--r--test cases/failing/120 subproject version conflict/subprojects/B/meson.build3
-rw-r--r--test cases/failing/120 subproject version conflict/test.json7
4 files changed, 18 insertions, 0 deletions
diff --git a/test cases/failing/120 subproject version conflict/meson.build b/test cases/failing/120 subproject version conflict/meson.build
new file mode 100644
index 000000000..ffbcc13a4
--- /dev/null
+++ b/test cases/failing/120 subproject version conflict/meson.build
@@ -0,0 +1,4 @@
+project('120 subproject version conflict')
+
+A_dep = subproject('A').get_variable('A_dep')
+B_dep = subproject('B', version: '1').get_variable('B_dep')
diff --git a/test cases/failing/120 subproject version conflict/subprojects/A/meson.build b/test cases/failing/120 subproject version conflict/subprojects/A/meson.build
new file mode 100644
index 000000000..7da4df0e7
--- /dev/null
+++ b/test cases/failing/120 subproject version conflict/subprojects/A/meson.build
@@ -0,0 +1,4 @@
+project('A')
+
+B_dep = subproject('B').get_variable('B_dep')
+A_dep = declare_dependency(dependencies: B_dep)
diff --git a/test cases/failing/120 subproject version conflict/subprojects/B/meson.build b/test cases/failing/120 subproject version conflict/subprojects/B/meson.build
new file mode 100644
index 000000000..0ead9349a
--- /dev/null
+++ b/test cases/failing/120 subproject version conflict/subprojects/B/meson.build
@@ -0,0 +1,3 @@
+project('B', version: '100')
+
+B_dep = declare_dependency()
diff --git a/test cases/failing/120 subproject version conflict/test.json b/test cases/failing/120 subproject version conflict/test.json
new file mode 100644
index 000000000..5d445e524
--- /dev/null
+++ b/test cases/failing/120 subproject version conflict/test.json
@@ -0,0 +1,7 @@
+{
+ "stdout": [
+ {
+ "line": "test cases/failing/120 subproject version conflict/meson.build:4:0: ERROR: Subproject B version is 100 but 1 required."
+ }
+ ]
+}