aboutsummaryrefslogtreecommitdiffstats
path: root/t/t5543-atomic-push.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t5543-atomic-push.sh')
-rwxr-xr-xt/t5543-atomic-push.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/t/t5543-atomic-push.sh b/t/t5543-atomic-push.sh
index 04b47ad84a..3a700b0676 100755
--- a/t/t5543-atomic-push.sh
+++ b/t/t5543-atomic-push.sh
@@ -280,4 +280,34 @@ test_expect_success 'atomic push reports (reject by non-ff)' '
test_cmp expect actual
'
+test_expect_success '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_success '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