mirror of
https://github.com/git/git
synced 2024-08-24 02:11:08 +00:00
![Eric Sunshine](/assets/img/avatar_default.png)
This test expects "git push" to fail, thus it manually inverts that local expected failure into a successful exit code for the test overall. In doing so, it intentionally breaks the &&-chain. Modernize by replacing manual exit code management with test_must_fail() and a normal &&-chain. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
43 lines
657 B
Bash
Executable file
43 lines
657 B
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='forced push to replace commit we do not have'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
|
|
>file1 && git add file1 && test_tick &&
|
|
git commit -m Initial &&
|
|
git config receive.denyCurrentBranch warn &&
|
|
|
|
mkdir another && (
|
|
cd another &&
|
|
git init &&
|
|
git fetch --update-head-ok .. master:master
|
|
) &&
|
|
|
|
>file2 && git add file2 && test_tick &&
|
|
git commit -m Second
|
|
|
|
'
|
|
|
|
test_expect_success 'non forced push should die not segfault' '
|
|
|
|
(
|
|
cd another &&
|
|
test_must_fail git push .. master:master
|
|
)
|
|
|
|
'
|
|
|
|
test_expect_success 'forced push should succeed' '
|
|
|
|
(
|
|
cd another &&
|
|
git push .. +master:master
|
|
)
|
|
|
|
'
|
|
|
|
test_done
|