git p4 test: fix badp4dir test

The construct used to get the return code was flawed, in that
errors in the &&-chain before the semicolon were not caught.  Use
the standard test_expect_code instead.

Set PATH in a subshell instead of relying on the bashism of
setting it just for a single command.

And fix the grep line so it doesn't worry about grep segfaults,
and doesn't fail for i18n issues.

Reported-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pete Wyckoff 2012-06-27 08:01:03 -04:00 committed by Junio C Hamano
parent 9b6513ac6f
commit a0327c0edc

View File

@ -134,9 +134,13 @@ test_expect_success 'exit when p4 fails to produce marshaled output' '
exit 1 exit 1
EOF EOF
chmod 755 badp4dir/p4 && chmod 755 badp4dir/p4 &&
PATH="$TRASH_DIRECTORY/badp4dir:$PATH" git p4 clone --dest="$git" //depot >errs 2>&1 ; retval=$? && (
test $retval -eq 1 && PATH="$TRASH_DIRECTORY/badp4dir:$PATH" &&
test_must_fail grep -q Traceback errs export PATH &&
test_expect_code 1 git p4 clone --dest="$git" //depot >errs 2>&1
) &&
cat errs &&
! test_i18ngrep Traceback errs
' '
test_expect_success 'clone bare' ' test_expect_success 'clone bare' '