X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=d1794265fd33a0e4893ef9c306bba421effc4702;hb=38ce0dbf82732590ef836767d3602db48ae345a9;hp=04a4c144d091d88cfea2680107bea4d143473c37;hpb=556986511c010b72e31c8778a2a5a514586c9fed;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh old mode 100644 new mode 100755 index 04a4c144..d1794265 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -403,7 +403,7 @@ test_begin_subtest () test_subtest_name="$1" # Remember stdout and stderr file descriptios and redirect test # output to the previously prepared file descriptors 3 and 4 (see - # bellow) + # below) if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi exec 6>&1 7>&2 >&3 2>&4 inside_subtest=t @@ -440,6 +440,8 @@ test_expect_equal () test_expect_equal_failure () { + exec 1>&6 2>&7 # Restore stdout and stderr + inside_subtest= test "$#" = 3 && { prereq=$1; shift; } || prereq= test "$#" = 2 || error "bug in the test script: not 2 or 3 parameters to test_expect_equal" @@ -452,6 +454,9 @@ test_expect_equal_failure () test_known_broken_ok_ "$test_subtest_name" else test_known_broken_failure_ "$test_subtest_name" + testname=$this_test.$test_count + echo "$expected" > $testname.expected + echo "$output" > $testname.output fi fi } @@ -752,7 +757,9 @@ test_done () { echo if [ "$test_failure" = "0" ]; then - rm -rf "$remove_tmp" + if [ "$test_broken" = "0" ]; then + rm -rf "$remove_tmp" + fi exit 0 else exit 1