From 5f86eb41fed1826d3223efa6c8d5ca13f6cda5ff Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 31 Aug 2018 16:26:32 +0200 Subject: [PATCH] tests: record more stderr with --write-junit-xml in case of failure Sometimes, failures in a test case are actually caused by issues in earlier test cases. To make it easier to see those issues, let's attach the output from before the failing test case (i.e. stdout/stderr since the previous failing test case, or the start of the test script). This will be visible in the "Attachments" of the details of the failed test. Signed-off-by: Johannes Schindelin --- t/test-lib.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/t/test-lib.sh b/t/test-lib.sh index c7ae5aec15..e3c3966dd6 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -536,6 +536,9 @@ test_failure_ () { "$(cat "$GIT_TEST_TEE_OUTPUT_FILE")")" >"$GIT_TEST_TEE_OUTPUT_FILE" junit_insert="$junit_insert" + junit_insert="$junit_insert$(xml_attr_encode \ + "$(cat "$GIT_TEST_TEE_OUTPUT_FILE.err")")" + >"$GIT_TEST_TEE_OUTPUT_FILE.err" write_junit_xml_testcase "$1" " $junit_insert" fi test_failure=$(($test_failure + 1)) @@ -820,9 +823,12 @@ test_start_ () { then junit_start=$(test-tool date getnanos) - # truncate output - test -z "$GIT_TEST_TEE_OUTPUT_FILE" || - >"$GIT_TEST_TEE_OUTPUT_FILE" + # append to future ; truncate output + test -z "$GIT_TEST_TEE_OUTPUT_FILE" || { + cat "$GIT_TEST_TEE_OUTPUT_FILE" \ + >>"$GIT_TEST_TEE_OUTPUT_FILE.err" + >"$GIT_TEST_TEE_OUTPUT_FILE" + } fi }