]> asedeno.scripts.mit.edu Git - git.git/blobdiff - t/t5530-upload-pack-error.sh
Merge branch 'jh/maint-config-file-prefix' into maint
[git.git] / t / t5530-upload-pack-error.sh
index 8b0509106951c5ddf2995862bc2a3887c963bfe6..a696b8791b7caa44ae2bd16d6970a791f3a28d3d 100755 (executable)
@@ -27,14 +27,15 @@ test_expect_success 'setup and corrupt repository' '
 '
 
 test_expect_success 'fsck fails' '
-       ! git fsck
+       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 &&
+0000" | git upload-pack . > /dev/null 2> output.err &&
+       grep "unable to read" output.err &&
        grep "pack-objects died" output.err
 '
 
@@ -46,14 +47,26 @@ test_expect_success 'corrupt repo differently' '
 '
 
 test_expect_success 'fsck fails' '
-       ! git fsck
+       test_must_fail git fsck
 '
 test_expect_success 'upload-pack fails due to error in rev-list' '
 
+       ! echo "0032want $(git rev-parse HEAD)
+0034shallow $(git rev-parse HEAD^)00000009done
+0000" | git upload-pack . > /dev/null 2> output.err &&
+       # pack-objects survived
+       grep "Total.*, reused" output.err &&
+       # but there was an error, which must have been in rev-list
+       grep "bad tree object" 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 "waitpid (async) failed" output.err
+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' '
@@ -66,7 +79,7 @@ test_expect_success 'create empty repository' '
 
 test_expect_success 'fetch fails' '
 
-       ! git fetch .. master
+       test_must_fail git fetch .. master
 
 '