summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp2
-rwxr-xr-xtest/end-to-end/cli/conflict-report.sh30
2 files changed, 31 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp
index 3a3dd5ee..1d169c05 100644
--- a/src/buildtool/build_engine/target_map/target_map.cpp
+++ b/src/buildtool/build_engine/target_map/target_map.cpp
@@ -226,7 +226,7 @@ auto NameTransitionedDeps(
auto conf = effective_conf.Update(transitioned_target.config.Expr())
.Prune(analysis->Vars());
return BuildMaps::Target::ConfiguredTarget{transitioned_target.target, conf}
- .ToString();
+ .ToShortString();
}
// Check if an object is contained an expression; to avoid tree-unfolding
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