summaryrefslogtreecommitdiff
path: root/test/end-to-end
diff options
context:
space:
mode:
Diffstat (limited to 'test/end-to-end')
-rwxr-xr-xtest/end-to-end/cli/conflict-report.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/end-to-end/cli/conflict-report.sh b/test/end-to-end/cli/conflict-report.sh
index 0e605402..1e5755af 100755
--- a/test/end-to-end/cli/conflict-report.sh
+++ b/test/end-to-end/cli/conflict-report.sh
@@ -129,6 +129,14 @@ cat > TARGETS <<'EOF'
, "another provided world"
]
}
+, "rule-conflict-in-config":
+ { "type": "provide"
+ , "deps": ["world", "unrelated", "universe", "greeting.txt"]
+ }
+, "simple-rule-conflict-in-config":
+ { "type": "provide"
+ , "deps": ["unrelated", "universe", "greeting.txt"]
+ }
}
EOF
@@ -164,5 +172,27 @@ grep '\["@","","","another provided world"\]' log
grep '\["@","","","provided universe"\]' log
grep '\["@","","","provided unrelated"\]' log && exit 1 || :
+# Also verify that the non-null part of the effective configuration is
+# reported.
+"${JUST}" build --local-build-root "${LBR}" rule-conflict-in-config \
+ -f log --log-limit 0 2>&1 -D '{"FOO": "bar", "NAME": "World"}' \
+ && exit 1 || :
+echo
+grep -F '[["@","","","world"],{}]' log
+grep -F '[["@","","","universe"],{}]' log
+grep -F '[["@","","","greeting.txt"],{"NAME":"World"}]' log
+grep -F '["@","","","unrelated"]' log && exit 1 || :
+echo
echo
+
+"${JUST}" build --local-build-root "${LBR}" simple-rule-conflict-in-config \
+ -f log --log-limit 0 2>&1 -D '{"FOO": "bar", "NAME": null}' \
+ && exit 1 || :
+echo
+grep -F '[["@","","","universe"],{}]' log
+grep -F '[["@","","","greeting.txt"],{}]' log
+grep -F '["@","","","unrelated"]' log && exit 1 || :
+echo
+echo
+
echo OK