diff options
author | Pete Wyckoff <pw@padd.com> | 2011-02-19 08:17:55 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-02-21 09:50:16 -0800 |
commit | 68b28593899d528d4b59e7eb07cc37b85012376a (patch) | |
tree | 880f5d07c8c77ffa993746d8cee36b14f8393bf4 /t/t9800-git-p4.sh | |
parent | d00d2ed1c5bd41a26c61236e79e82764baad464b (diff) | |
download | git-68b28593899d528d4b59e7eb07cc37b85012376a.tar.gz |
git-p4: fix key error for p4 problem
Some p4 failures result in an error, but the info['code'] is not
set. These include a bad p4 executable, or a core dump from p4,
and other odd internal errors where p4 fails to generate proper
marshaled output.
Make sure the info key exists before using it to avoid a python
traceback.
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9800-git-p4.sh')
-rwxr-xr-x | t/t9800-git-p4.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh index 2d354f86d0..c1ea4d445c 100755 --- a/t/t9800-git-p4.sh +++ b/t/t9800-git-p4.sh @@ -45,6 +45,19 @@ test_expect_success 'basic git-p4 clone' ' rm -rf "$git" && mkdir "$git" ' +test_expect_success 'exit when p4 fails to produce marshaled output' ' + badp4dir="$TRASH_DIRECTORY/badp4dir" && + mkdir -p "$badp4dir" && + cat >"$badp4dir"/p4 <<-EOF && + #!$SHELL_PATH + exit 1 + EOF + chmod 755 "$badp4dir"/p4 && + PATH="$badp4dir:$PATH" "$GITP4" clone --dest="$git" //depot >errs 2>&1 ; retval=$? && + test $retval -eq 1 && + test_must_fail grep -q Traceback errs +' + test_expect_success 'shutdown' ' pid=`pgrep -f p4d` && test -n "$pid" && |