mirror of
https://github.com/git/git.git
synced 2026-01-10 18:20:27 +00:00
t5543: atomic push reports exit code failure
Add new test cases in t5543 to avoid ignoring the exit code of git-receive-pack(1) during atomic push with "--porcelain" flag. We'd typically notice this case because the refs would have their error message set. But there is an edge case when pushing refs succeeds, but git-receive-pack(1) exits with a non-zero exit code at a later point in time due to another error. An atomic git-push(1) would ignore that error code, and consequently it would return successfully and not print any error message at all. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
3028db4af2
commit
60c208db58
@@ -280,4 +280,34 @@ test_expect_success 'atomic push reports (reject by non-ff)' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'atomic push reports exit code failure' '
|
||||
write_script receive-pack-wrapper <<-\EOF &&
|
||||
git-receive-pack "$@"
|
||||
exit 1
|
||||
EOF
|
||||
test_must_fail git -C workbench push --atomic \
|
||||
--receive-pack="${SQ}$(pwd)${SQ}/receive-pack-wrapper" \
|
||||
up HEAD:refs/heads/no-conflict 2>err &&
|
||||
cat >expect <<-EOF &&
|
||||
To ../upstream
|
||||
* [new branch] HEAD -> no-conflict
|
||||
error: failed to push some refs to ${SQ}../upstream${SQ}
|
||||
EOF
|
||||
test_cmp expect err
|
||||
'
|
||||
|
||||
test_expect_failure 'atomic push reports exit code failure with porcelain' '
|
||||
write_script receive-pack-wrapper <<-\EOF &&
|
||||
git-receive-pack "$@"
|
||||
exit 1
|
||||
EOF
|
||||
test_must_fail git -C workbench push --atomic --porcelain \
|
||||
--receive-pack="${SQ}$(pwd)${SQ}/receive-pack-wrapper" \
|
||||
up HEAD:refs/heads/no-conflict-porcelain 2>err &&
|
||||
cat >expect <<-EOF &&
|
||||
error: failed to push some refs to ${SQ}../upstream${SQ}
|
||||
EOF
|
||||
test_cmp expect err
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user