test: simplify return value of test_run_

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>
This commit is contained in:
Jonathan Nieder 2011-08-08 03:15:34 +02:00 committed by Junio C Hamano
parent e9e0643fe6
commit aa0bcf962a

View File

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