test/parseconf: Always show the result file name on failure

Obviously correct fixes on already reviewed code.
This commit is contained in:
teor 2019-11-04 12:28:39 +10:00
parent 3763dd9987
commit 233b96d83a
2 changed files with 10 additions and 6 deletions

View File

@ -0,0 +1,3 @@
o Testing:
- Improve the consistency of test_parseconf.sh output, and run all the
tests, even if one fails. Closes ticket 32213.

View File

@ -189,7 +189,7 @@ for dir in "${EXAMPLEDIR}"/*; do
--dump-config short \ --dump-config short \
${CMDLINE} \ ${CMDLINE} \
| "${FILTER}" > "${DATA_DIR}/output.${testname}" \ | "${FILTER}" > "${DATA_DIR}/output.${testname}" \
|| die "FAIL: Tor exited." || die "FAIL: $EXPECTED: Tor reported an error."
if cmp "$EXPECTED" "${DATA_DIR}/output.${testname}">/dev/null ; then if cmp "$EXPECTED" "${DATA_DIR}/output.${testname}">/dev/null ; then
# Check round-trip. # Check round-trip.
@ -198,11 +198,12 @@ for dir in "${EXAMPLEDIR}"/*; do
--dump-config short \ --dump-config short \
| "${FILTER}" \ | "${FILTER}" \
> "${DATA_DIR}/output_2.${testname}" \ > "${DATA_DIR}/output_2.${testname}" \
|| die "FAIL: Tor exited on round-trip." || die \
"FAIL: $EXPECTED: Tor reported an error on round-trip."
if ! cmp "${DATA_DIR}/output.${testname}" \ if ! cmp "${DATA_DIR}/output.${testname}" \
"${DATA_DIR}/output_2.${testname}"; then "${DATA_DIR}/output_2.${testname}"; then
echo "FAIL: did not match on round-trip." >&2 echo "FAIL: $EXPECTED did not match on round-trip." >&2
FINAL_EXIT=$EXITCODE FINAL_EXIT=$EXITCODE
fi fi
@ -216,7 +217,7 @@ for dir in "${EXAMPLEDIR}"/*; do
--verify-config \ --verify-config \
${CMDLINE} || true ${CMDLINE} || true
fi fi
echo "FAIL: did not match." >&2 echo "FAIL: $EXPECTED did not match." >&2
diff -u "$EXPECTED" "${DATA_DIR}/output.${testname}" >&2 \ diff -u "$EXPECTED" "${DATA_DIR}/output.${testname}" >&2 \
|| true || true
FINAL_EXIT=$EXITCODE FINAL_EXIT=$EXITCODE
@ -236,14 +237,14 @@ for dir in "${EXAMPLEDIR}"/*; do
--defaults-torrc "${DEFAULTS}" \ --defaults-torrc "${DEFAULTS}" \
${CMDLINE} \ ${CMDLINE} \
> "${DATA_DIR}/output.${testname}" \ > "${DATA_DIR}/output.${testname}" \
&& die "FAIL: Tor did not report an error." && die "FAIL: $ERROR: Tor did not report an error."
expect_err="$(cat $ERROR)" expect_err="$(cat $ERROR)"
if grep "${expect_err}" "${DATA_DIR}/output.${testname}" >/dev/null; then if grep "${expect_err}" "${DATA_DIR}/output.${testname}" >/dev/null; then
echo "OK" echo "OK"
else else
echo "FAIL" >&2 echo "FAIL" >&2
echo "Expected error: ${expect_err}" >&2 echo "Expected $ERROR: ${expect_err}" >&2
echo "Tor said:" >&2 echo "Tor said:" >&2
cat "${DATA_DIR}/output.${testname}" >&2 cat "${DATA_DIR}/output.${testname}" >&2
FINAL_EXIT=$EXITCODE FINAL_EXIT=$EXITCODE