give the duration of test in the fallback xml file A common extension to junitxml is to provide the duration of each test case in seconds. Here, we add the duration to the xml file that test-setup.sh provides if the test driver doesn't generate one. Change-Id: I25f94f10bb99db7078919f3e0bcdf7bd3cbb637d PiperOrigin-RevId: 160252993
diff --git a/src/test/shell/bazel/bazel_test_test.sh b/src/test/shell/bazel/bazel_test_test.sh index a175139..9f0c461 100755 --- a/src/test/shell/bazel/bazel_test_test.sh +++ b/src/test/shell/bazel/bazel_test_test.sh
@@ -357,10 +357,12 @@ cat bazel-testlogs/dir/success/test.xml >$TEST_log expect_log "errors=\"0\"" expect_log_once "testcase" + expect_log_once "duration=\"[0-9]\+\"" expect_log "name=\"dir/success\"" cat bazel-testlogs/dir/fail/test.xml >$TEST_log expect_log "errors=\"1\"" expect_log_once "testcase" + expect_log_once "duration=\"[0-9]\+\"" expect_log "name=\"dir/fail\"" }
diff --git a/tools/test/test-setup.sh b/tools/test/test-setup.sh index 308f658..8ce2ea8 100755 --- a/tools/test/test-setup.sh +++ b/tools/test/test-setup.sh
@@ -161,11 +161,13 @@ [[ -n "$RUNTEST_PRESERVE_CWD" ]] && EXE="${TEST_NAME}" exitCode=0 +start=$(date +%s) if [ -z "$COVERAGE_DIR" ]; then "${TEST_PATH}" "$@" || exitCode=$? else "$1" "$TEST_PATH" "${@:3}" || exitCode=$? fi +duration=$(expr $(date +%s) - $start) if [ -n "${XML_OUTPUT_FILE-}" -a ! -f "${XML_OUTPUT_FILE-}" ]; then @@ -181,7 +183,7 @@ <?xml version="1.0" encoding="UTF-8"?> <testsuites> <testsuite name="$TEST_NAME" tests="1" failures="0" errors="$errors"> - <testcase name="$TEST_NAME" status="run">$error_msg</testcase> + <testcase name="$TEST_NAME" status="run" duration="$duration">$error_msg</testcase> </testsuite> </testsuites> EOF