summaryrefslogtreecommitdiff
path: root/t/t5530-upload-pack-error.sh
diff options
context:
space:
mode:
authorNick Edelen <sirnot@gmail.com>2009-06-09 23:50:18 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-06-10 06:49:31 (GMT)
commitf0cea83f631689331fce73b51f22707e897f7939 (patch)
tree5db00f9978cf6c5b340d8df14f48ab429e9e79a6 /t/t5530-upload-pack-error.sh
parentf4f78e668dd40f2d4a5bc119cccb3c34c2675c38 (diff)
downloadgit-f0cea83f631689331fce73b51f22707e897f7939.zip
git-f0cea83f631689331fce73b51f22707e897f7939.tar.gz
git-f0cea83f631689331fce73b51f22707e897f7939.tar.bz2
Shift object enumeration out of upload-pack
Offload object enumeration in upload-pack to pack-objects, but fall back on internal revision walker for shallow interaction. Aside from architecturally making more sense, this also leaves the door open for pack-objects to employ a revision cache mechanism. Test t5530 updated in order to explicitly check both enumeration methods. Signed-off-by: Nick Edelen <sirnot@gmail.com> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5530-upload-pack-error.sh')
-rwxr-xr-xt/t5530-upload-pack-error.sh14
1 files changed, 12 insertions, 2 deletions
diff --git a/t/t5530-upload-pack-error.sh b/t/t5530-upload-pack-error.sh
index f5102b9..757cc19 100755
--- a/t/t5530-upload-pack-error.sh
+++ b/t/t5530-upload-pack-error.sh
@@ -30,11 +30,12 @@ test_expect_success 'fsck fails' '
test_must_fail git fsck
'
-test_expect_success 'upload-pack fails due to error in pack-objects' '
+test_expect_success 'upload-pack fails due to error in pack-objects packing' '
! echo "0032want $(git rev-parse HEAD)
00000009done
0000" | git upload-pack . > /dev/null 2> output.err &&
+ grep "unable to read" output.err &&
grep "pack-objects died" output.err
'
@@ -51,11 +52,20 @@ test_expect_success 'fsck fails' '
test_expect_success 'upload-pack fails due to error in rev-list' '
! echo "0032want $(git rev-parse HEAD)
-00000009done
+0034shallow $(git rev-parse HEAD^)00000009done
0000" | git upload-pack . > /dev/null 2> output.err &&
grep "waitpid (async) failed" output.err
'
+test_expect_success 'upload-pack fails due to error in pack-objects enumeration' '
+
+ ! echo "0032want $(git rev-parse HEAD)
+00000009done
+0000" | git upload-pack . > /dev/null 2> output.err &&
+ grep "bad tree object" output.err &&
+ grep "pack-objects died" output.err
+'
+
test_expect_success 'create empty repository' '
mkdir foo &&