git p4 test: fix badp4dir test
authorPete Wyckoff <pw@padd.com>
Wed, 27 Jun 2012 12:01:03 +0000 (08:01 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Jun 2012 04:06:35 +0000 (21:06 -0700)
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>
t/t9800-git-p4-basic.sh

index befd82342211407bba668d59dd87dd48c5f9467b..07c2e157cb3b2320e62618a7c387948749522b1a 100755 (executable)
@@ -134,9 +134,13 @@ test_expect_success 'exit when p4 fails to produce marshaled output' '
        exit 1
        EOF
        chmod 755 badp4dir/p4 &&
-       PATH="$TRASH_DIRECTORY/badp4dir:$PATH" git p4 clone --dest="$git" //depot >errs 2>&1 ; retval=$? &&
-       test $retval -eq 1 &&
-       test_must_fail grep -q Traceback errs
+       (
+               PATH="$TRASH_DIRECTORY/badp4dir:$PATH" &&
+               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' '