Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
The use of the pipe in
bazelbuild@b8e92cc
made it swallow the exit code, so we need to set pipefail.
  • Loading branch information
meisterT committed May 25, 2023
1 parent d6257ee commit d3bb7bc
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/test/shell/bazel/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -172,4 +172,43 @@ EOF
./script.bat || fail "Run should succeed"
}

function test_run_test_exit_code() {
# EXPERIMENTAL_SPLIT_XML_GENERATION is set by the outer bazel and influences
# the test setup of the inner bazel. To make sure we hit the codepath we want
# to test here, unset the variable.
unset EXPERIMENTAL_SPLIT_XML_GENERATION

mkdir -p foo
cat > foo/BUILD <<'EOF'
sh_test(
name = "exit0",
srcs = ["exit0.sh"],
)
sh_test(
name = "exit1",
srcs = ["exit1.sh"],
)
EOF

cat > foo/exit0.sh <<'EOF'
set -x
exit 0
EOF
chmod +x foo/exit0.sh
bazel run //foo:exit0 &>"$TEST_log" \
|| fail "Expected exit code 0, received $?"

cat > foo/exit1.sh <<'EOF'
set -x
exit 1
EOF
chmod +x foo/exit1.sh
bazel run --noexperimental_split_xml_generation //foo:exit1 &>"$TEST_log" \
&& fail "Expected exit code 1, received $?"

# Avoid failing the test because of the last non-zero exit-code.
true
}

run_suite "run_under_tests"
2 changes: 2 additions & 0 deletions tools/test/test-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -323,11 +323,13 @@ if [[ "${EXPERIMENTAL_SPLIT_XML_GENERATION}" == "1" ]]; then
("$1" "$TEST_PATH" "${@:3}" 2>&1) <&0 &
fi
else
set -o pipefail
if [ -z "$COVERAGE_DIR" ]; then
("${TEST_PATH}" "$@" 2>&1 | tee -a "${XML_OUTPUT_FILE}.log") <&0 &
else
("$1" "$TEST_PATH" "${@:3}" 2>&1 | tee -a "${XML_OUTPUT_FILE}.log") <&0 &
fi
set +o pipefail
fi
childPid=$!

Expand Down

0 comments on commit d3bb7bc

Please sign in to comment.