test: simplify return value of test_run_
authorJonathan Nieder <jrnieder@gmail.com>
Mon, 8 Aug 2011 01:15:34 +0000 (03:15 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Aug 2011 18:26:40 +0000 (11:26 -0700)
As v0.99.5~24^2~4 (Trapping exit in tests, using return for errors,
2005-08-10) explains, callers to test_run_ (such as test_expect_code)
used to check the result from eval and the return value separately so
tests that fail early could be distinguished from tests that completed
normally with successful (nonzero) status.  Eventually tests that
succeed with nonzero status were phased out (see v1.7.4-rc0~65^2~19,
2010-10-03 and especially v1.5.5-rc0~271, 2008-02-01) but the weird
two-return-value calling convention lives on.

Let's get rid of it.  The new rule: test_run_ succeeds (returns 0)
if and only if the test succeeded.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh

index df25f1792923a65aab2c4ce88e7b528effb381f5..b16a9b98f454d34490f31d046f22967a8865a1ae 100644 (file)
@@ -457,7 +457,7 @@ test_run_ () {
        if test "$verbose" = "t" && test -n "$HARNESS_ACTIVE"; then
                echo ""
        fi
-       return 0
+       return "$eval_ret"
 }
 
 test_skip () {
@@ -502,8 +502,7 @@ test_expect_failure () {
        if ! test_skip "$@"
        then
                say >&3 "checking known breakage: $2"
-               test_run_ "$2" expecting_failure
-               if [ "$?" = 0 -a "$eval_ret" = 0 ]
+               if test_run_ "$2" expecting_failure
                then
                        test_known_broken_ok_ "$1"
                else
@@ -521,8 +520,7 @@ test_expect_success () {
        if ! test_skip "$@"
        then
                say >&3 "expecting success: $2"
-               test_run_ "$2"
-               if [ "$?" = 0 -a "$eval_ret" = 0 ]
+               if test_run_ "$2"
                then
                        test_ok_ "$1"
                else