Previously, the test only triggered a failure in upload-pack's rev-list subprocess. Here we also test for a failure of pack-objects, and make sure that the right process failed. Signed-off-by: Johannes Sixt <johannes.sixt@xxxxxxxxxx> --- On Monday 05 November 2007 21:05, Junio C Hamano wrote: > > The test case checks for failures in rev-list (a missing > > object). Any hints how to trigger a failure in pack-objects > > that does not also trigger in rev-list would be welcome. > > How about removing a blob from the test repository to corrupt > it? rev-list --objects I think would happily list the blob > because it sees its name in its containing tree without checking > its existence. That does it. This goes on top of my previous patch. -- Hannes t/t5530-upload-pack-error.sh | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/t/t5530-upload-pack-error.sh b/t/t5530-upload-pack-error.sh index 9923ba0..70d4f86 100755 --- a/t/t5530-upload-pack-error.sh +++ b/t/t5530-upload-pack-error.sh @@ -15,7 +15,7 @@ test_expect_success 'setup and corrupt repository' ' test_tick && echo changed >file && git commit -a -m changed && - rm -f .git/objects/f7/3f3093ff865c514c6c51f867e35f693487d0d3 + rm -f .git/objects/5e/a2ed416fbd4a4cbe227b75fe255dd7fa6bd4d6 ' @@ -24,14 +24,33 @@ test_expect_failure 'fsck fails' ' git fsck ' -test_expect_failure 'upload pack fails due to error in rev-list' ' +test_expect_success 'upload-pack fails due to error in pack-objects' ' - echo "0032want $(git rev-parse HEAD) + ! echo "0032want $(git rev-parse HEAD) 00000009done -0000" | git-upload-pack . > /dev/null +0000" | git-upload-pack . > /dev/null 2> output.err && + grep "pack-objects died" output.err +' + +test_expect_success 'corrupt repo differently' ' + + git hash-object -w file && + rm -f .git/objects/be/c63e37d08c454ad3a60cde90b70f3f7d077852 ' +test_expect_failure 'fsck fails' ' + + git fsck +' +test_expect_success 'upload-pack fails due to error in rev-list' ' + + ! echo "0032want $(git rev-parse HEAD) +00000009done +0000" | git-upload-pack . > /dev/null 2> output.err && + grep "waitpid (async) failed" output.err +' + test_expect_success 'create empty repository' ' mkdir foo && -- 1.5.3.4.315.g2ce38 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html