mirror of
https://github.com/git/git
synced 2024-08-28 20:20:07 +00:00
t3404: relax rebase.missingCommitsCheck tests
These tests were a bit anal about the *exact* warning/error message printed by git rebase. But those messages are intended for the *end user*, therefore it does not make sense to test so rigidly for the *exact* wording. In the following, we will reimplement the missing commits check in the sequencer, with slightly different words. So let's just test for the parts in the warning/error message that we *really* care about, nothing more, nothing less. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3546c8d927
commit
47d4ac019b
|
@ -1249,20 +1249,13 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' '
|
||||||
test B = $(git cat-file commit HEAD^ | sed -ne \$p)
|
test B = $(git cat-file commit HEAD^ | sed -ne \$p)
|
||||||
'
|
'
|
||||||
|
|
||||||
cat >expect <<EOF
|
|
||||||
Warning: the command isn't recognized in the following line:
|
|
||||||
- badcmd $(git rev-list --oneline -1 master~1)
|
|
||||||
|
|
||||||
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
|
|
||||||
Or you can abort the rebase with 'git rebase --abort'.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_expect_success 'static check of bad command' '
|
test_expect_success 'static check of bad command' '
|
||||||
rebase_setup_and_clean bad-cmd &&
|
rebase_setup_and_clean bad-cmd &&
|
||||||
set_fake_editor &&
|
set_fake_editor &&
|
||||||
test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
|
test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
|
||||||
git rebase -i --root 2>actual &&
|
git rebase -i --root 2>actual &&
|
||||||
test_i18ncmp expect actual &&
|
test_i18ngrep "badcmd $(git rev-list --oneline -1 master~1)" actual &&
|
||||||
|
test_i18ngrep "You can fix this with .git rebase --edit-todo.." actual &&
|
||||||
FAKE_LINES="1 2 3 drop 4 5" git rebase --edit-todo &&
|
FAKE_LINES="1 2 3 drop 4 5" git rebase --edit-todo &&
|
||||||
git rebase --continue &&
|
git rebase --continue &&
|
||||||
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
|
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
|
||||||
|
@ -1284,20 +1277,13 @@ test_expect_success 'tabs and spaces are accepted in the todolist' '
|
||||||
test E = $(git cat-file commit HEAD | sed -ne \$p)
|
test E = $(git cat-file commit HEAD | sed -ne \$p)
|
||||||
'
|
'
|
||||||
|
|
||||||
cat >expect <<EOF
|
|
||||||
Warning: the SHA-1 is missing or isn't a commit in the following line:
|
|
||||||
- edit XXXXXXX False commit
|
|
||||||
|
|
||||||
You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
|
|
||||||
Or you can abort the rebase with 'git rebase --abort'.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_expect_success 'static check of bad SHA-1' '
|
test_expect_success 'static check of bad SHA-1' '
|
||||||
rebase_setup_and_clean bad-sha &&
|
rebase_setup_and_clean bad-sha &&
|
||||||
set_fake_editor &&
|
set_fake_editor &&
|
||||||
test_must_fail env FAKE_LINES="1 2 edit fakesha 3 4 5 #" \
|
test_must_fail env FAKE_LINES="1 2 edit fakesha 3 4 5 #" \
|
||||||
git rebase -i --root 2>actual &&
|
git rebase -i --root 2>actual &&
|
||||||
test_i18ncmp expect actual &&
|
test_i18ngrep "edit XXXXXXX False commit" actual &&
|
||||||
|
test_i18ngrep "You can fix this with .git rebase --edit-todo.." actual &&
|
||||||
FAKE_LINES="1 2 4 5 6" git rebase --edit-todo &&
|
FAKE_LINES="1 2 4 5 6" git rebase --edit-todo &&
|
||||||
git rebase --continue &&
|
git rebase --continue &&
|
||||||
test E = $(git cat-file commit HEAD | sed -ne \$p)
|
test E = $(git cat-file commit HEAD | sed -ne \$p)
|
||||||
|
|
Loading…
Reference in a new issue