If I run t5504 under heavy load, it sometimes fails tests 8 and 9, which
make a broken push to the remote. The failure looks like this:
expecting success:
rm -rf dst &&
git init dst &&
(
cd dst &&
git config transfer.fsckobjects true
) &&
test_must_fail git push --porcelain dst master:refs/heads/test >act
&&
test_cmp exp act
Initialized empty Git repository in /var/ram/git-stress/root-13/trash
directory.t5504-fetch-receive-strict/dst/.git/
remote: fatal: object of unexpected type
error: failed to push some refs to 'dst'
--- exp 2017-01-07 08:44:24.465771756 +0000
+++ act 2017-01-07 08:44:24.493771755 +0000
@@ -1,2 +0,0 @@
-To dst
-! refs/heads/master:refs/heads/test [remote rejected] (unpacker
error)
not ok 9 - push with transfer.fsckobjects
So it looks like we correctly fail the push, but the expected porcelain
output is missing. I'm _guessing_ what happens is that the local
git-push sees SIGPIPE writing to the remote side, and dies before it
gets a chance to write the message.
I'm not sure if this is something we should be fixing, or if the test is
simply a bit flaky (and we should work around it).
-Peff