From 3763dd998753280684888db97b7fba55b351d79d Mon Sep 17 00:00:00 2001 From: teor <teor@torproject.org> Date: Mon, 4 Nov 2019 11:18:10 +1000 Subject: [PATCH] test/parseconf: Run all the tests, even if one fails Obviously correct fixes on already reviewed code. --- src/test/test_parseconf.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh index a224573a20..cd7cccb32b 100755 --- a/src/test/test_parseconf.sh +++ b/src/test/test_parseconf.sh @@ -118,7 +118,9 @@ else EXITCODE=1 fi -die() { echo "$1" >&2 ; exit "$EXITCODE"; } +FINAL_EXIT=0 + +die() { echo "$1" >&2 ; FINAL_EXIT=$EXITCODE; } if test "$WINDOWS" = 1; then FILTER="dos2unix" @@ -166,7 +168,7 @@ for dir in "${EXAMPLEDIR}"/*; do echo "FAIL: Found both ${dir}/expected${suffix}" >&2 echo "and ${dir}/error${suffix}." >&2 echo "(Only one of these files should exist.)" >&2 - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi EXPECTED="./expected${suffix}" @@ -201,7 +203,7 @@ for dir in "${EXAMPLEDIR}"/*; do if ! cmp "${DATA_DIR}/output.${testname}" \ "${DATA_DIR}/output_2.${testname}"; then echo "FAIL: did not match on round-trip." >&2 - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi echo "OK" @@ -217,7 +219,7 @@ for dir in "${EXAMPLEDIR}"/*; do echo "FAIL: did not match." >&2 diff -u "$EXPECTED" "${DATA_DIR}/output.${testname}" >&2 \ || true - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi elif test -f "$ERROR"; then @@ -226,7 +228,7 @@ for dir in "${EXAMPLEDIR}"/*; do if ! test -s "$ERROR"; then echo "FAIL: error file '$ERROR' is empty." >&2 echo "Empty error files match any output." >&2 - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi "${TOR_BINARY}" --verify-config \ @@ -244,7 +246,7 @@ for dir in "${EXAMPLEDIR}"/*; do echo "Expected error: ${expect_err}" >&2 echo "Tor said:" >&2 cat "${DATA_DIR}/output.${testname}" >&2 - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi else @@ -252,9 +254,11 @@ for dir in "${EXAMPLEDIR}"/*; do # call that an error. echo "FAIL: Did not find ${dir}/*expected or ${dir}/*error." >&2 - exit $EXITCODE + FINAL_EXIT=$EXITCODE fi cd "${PREV_DIR}" done + +exit $FINAL_EXIT -- GitLab