Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2022-05-22 01:18:47 +0300
committerJunio C Hamano <gitster@pobox.com>2022-05-22 02:25:55 +0300
commit270ccd2a677766b7a7e22fdc16d6bb310eeda65b (patch)
tree4d249dc8cde69bdcb5da718d7983e9b37579b75c /t/test-lib-junit.sh
parent78d5e4cfb4b9f023549596c0d6fd0afdef57d571 (diff)
test(junit): avoid line feeds in XML attributes
In the test case's output, we do want newline characters, but in the XML attributes we do not want them. However, the `xml_attr_encode` function always adds a Line Feed at the end (which are then encoded as `&#x0a;`, even for XML attributes. This seems not to faze Azure Pipelines' XML parser, but it still is incorrect, so let's fix it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/test-lib-junit.sh')
-rw-r--r--t/test-lib-junit.sh14
1 files changed, 10 insertions, 4 deletions
diff --git a/t/test-lib-junit.sh b/t/test-lib-junit.sh
index 9d55d74d76..c959183c7e 100644
--- a/t/test-lib-junit.sh
+++ b/t/test-lib-junit.sh
@@ -50,7 +50,7 @@ finalize_test_case_output () {
;;
failure)
junit_insert="<failure message=\"not ok $test_count -"
- junit_insert="$junit_insert $(xml_attr_encode "$1")\">"
+ junit_insert="$junit_insert $(xml_attr_encode --no-lf "$1")\">"
junit_insert="$junit_insert $(xml_attr_encode \
"$(if test -n "$GIT_TEST_TEE_OUTPUT_FILE"
then
@@ -74,12 +74,12 @@ finalize_test_case_output () {
set "$* (known breakage)"
;;
skip)
- message="$(xml_attr_encode "$skipped_reason")"
+ message="$(xml_attr_encode --no-lf "$skipped_reason")"
set "$1" " <skipped message=\"$message\" />"
;;
esac
- junit_attrs="name=\"$(xml_attr_encode "$this_test.$test_count $1")\""
+ junit_attrs="name=\"$(xml_attr_encode --no-lf "$this_test.$test_count $1")\""
shift
junit_attrs="$junit_attrs classname=\"$this_test\""
junit_attrs="$junit_attrs time=\"$(test-tool \
@@ -122,5 +122,11 @@ write_junit_xml () {
}
xml_attr_encode () {
- printf '%s\n' "$@" | test-tool xml-encode
+ if test "x$1" = "x--no-lf"
+ then
+ shift
+ printf '%s' "$*" | test-tool xml-encode
+ else
+ printf '%s\n' "$@" | test-tool xml-encode
+ fi
}