Fix rerunning the tests in case of LeakSanitizer crash
The changes of 211cde11d4
(Rerun the test if LeakSanitizer crashed while
running it, 2021-02-05) didn't work because the script is executed with
"-e" shell option and so none of the commands added there was actually
run.
Fix this by using the usual "|| rc=$?" construct instead.
This commit is contained in:
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -199,18 +199,16 @@ jobs:
|
||||
working-directory: tests
|
||||
run: |
|
||||
# Explicitly use bash because /bin/sh doesn't have pipefail option
|
||||
/bin/bash -o pipefail -c './test 2>&1 | tee test.out'
|
||||
rc=$?
|
||||
/bin/bash -o pipefail -c './test 2>&1 | tee test.out' || rc=$?
|
||||
if [ ${{ matrix.use_asan }} ]; then
|
||||
# Work around spurious crashes by running the test again.
|
||||
# See https://github.com/google/sanitizers/issues/1353
|
||||
if fgrep -q 'LeakSanitizer has encountered a fatal error' test.out; then
|
||||
echo '+++ Rerunning the tests once again after LeakSanitizer crash +++'
|
||||
./test
|
||||
rc=$?
|
||||
./test || rc=$?
|
||||
fi
|
||||
fi
|
||||
if [ "$rc" != 0 ]; then
|
||||
if [ -n "$rc" ]; then
|
||||
echo '*** Tests failed, contents of httpbin.log follows: ***'
|
||||
echo '-----------------------------------------------------------'
|
||||
cat httpbin.log
|
||||
|
Reference in New Issue
Block a user