From 478720c18e8ca8f412753b2defab27aa660a8940 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 23 Mar 2021 14:56:45 +0100 Subject: [PATCH] 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. --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64d3f60653..a24f37a6d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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