aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/shell
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-18 15:59:35 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2016-01-18 16:52:13 +0000
commitb0ba9c9e7c07e87c1577d2c7ef8517e785528a70 (patch)
treeff40c3cf0a14d7b4bd456a64925aebe922e651a5 /src/test/shell
parent5ed789526c0754f6b5f47d1bd1f4b20e6a239000 (diff)
Generate a default dummy XML file when the test runner does not.
-- MOS_MIGRATED_REVID=112409554
Diffstat (limited to 'src/test/shell')
-rwxr-xr-xsrc/test/shell/bazel/bazel_test_test.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/shell/bazel/bazel_test_test.sh b/src/test/shell/bazel/bazel_test_test.sh
index 92c57e8c4b..60ca47351c 100755
--- a/src/test/shell/bazel/bazel_test_test.sh
+++ b/src/test/shell/bazel/bazel_test_test.sh
@@ -268,4 +268,45 @@ EOF
[ -s $xml_log ] || fail "$xml_log was not present after test"
}
+function test_always_xml_output() {
+ mkdir -p dir
+
+ cat <<EOF > dir/success.sh
+#!/bin/sh
+exit 0
+EOF
+ cat <<EOF > dir/fail.sh
+#!/bin/sh
+exit 1
+EOF
+
+ chmod +x dir/{success,fail}.sh
+
+ cat <<EOF > dir/BUILD
+sh_test(
+ name = "success",
+ srcs = [ "success.sh" ],
+)
+sh_test(
+ name = "fail",
+ srcs = [ "fail.sh" ],
+)
+EOF
+
+ bazel test //dir:all &> $TEST_log && fail "should have failed" || true
+ [ -f "bazel-testlogs/dir/success/test.xml" ] \
+ || fail "No xml file for //dir:success"
+ [ -f "bazel-testlogs/dir/fail/test.xml" ] \
+ || fail "No xml file for //dir:fail"
+
+ cat bazel-testlogs/dir/success/test.xml >$TEST_log
+ expect_log "errors=\"0\""
+ expect_log_once "testcase"
+ expect_log "name=\"dir/success\""
+ cat bazel-testlogs/dir/fail/test.xml >$TEST_log
+ expect_log "errors=\"1\""
+ expect_log_once "testcase"
+ expect_log "name=\"dir/fail\""
+}
+
run_suite "test tests"