In
78d5e4cfb4b (tests: refactor --write-junit-xml code, 2022-05-21),
this developer refactored the `--write-junit-xml` code a bit, including
the part where the current test case's title was used in a `set`
invocation, but failed to account for the fact that some test cases'
titles start with a long option, which the `set` misinterprets as being
intended for parsing.
Let's fix this by using the `set -- <...>` form.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
shift
case "$test_case_result" in
ok)
- set "$*"
+ set -- "$*"
;;
failure)
junit_insert="<failure message=\"not ok $test_count -"
junit_insert="$junit_insert<system-err>$(xml_attr_encode \
"$(cat "$GIT_TEST_TEE_OUTPUT_FILE")")</system-err>"
fi
- set "$1" " $junit_insert"
+ set -- "$1" " $junit_insert"
;;
fixed)
- set "$* (breakage fixed)"
+ set -- "$* (breakage fixed)"
;;
broken)
- set "$* (known breakage)"
+ set -- "$* (known breakage)"
;;
skip)
message="$(xml_attr_encode --no-lf "$skipped_reason")"
- set "$1" " <skipped message=\"$message\" />"
+ set -- "$1" " <skipped message=\"$message\" />"
;;
esac