mirror of
https://github.com/git/git.git
synced 2024-11-28 20:44:04 +08:00
status: add new tests for status during rebase -i
Expand test coverage with one or more than two commands done and with zero, one or more than two commands remaining. Signed-off-by: Guillaume Pagès <guillaume.pages@ensimag.grenoble-inp.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
84e6fb9da9
commit
592e412d0f
@ -856,4 +856,91 @@ EOF
|
|||||||
test_i18ncmp expected actual
|
test_i18ncmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'prepare for different number of commits rebased' '
|
||||||
|
git reset --hard master &&
|
||||||
|
git checkout -b several_commits &&
|
||||||
|
test_commit one_commit main.txt one &&
|
||||||
|
test_commit two_commit main.txt two &&
|
||||||
|
test_commit three_commit main.txt three &&
|
||||||
|
test_commit four_commit main.txt four
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'status: one command done nothing remaining' '
|
||||||
|
FAKE_LINES="exec_exit_15" &&
|
||||||
|
export FAKE_LINES &&
|
||||||
|
test_when_finished "git rebase --abort" &&
|
||||||
|
ONTO=$(git rev-parse --short HEAD~3) &&
|
||||||
|
test_must_fail git rebase -i HEAD~3 &&
|
||||||
|
cat >expected <<EOF &&
|
||||||
|
interactive rebase in progress; onto $ONTO
|
||||||
|
Last command done (1 command done):
|
||||||
|
exec exit 15
|
||||||
|
No commands remaining.
|
||||||
|
You are currently editing a commit while rebasing branch '\''several_commits'\'' on '\''$ONTO'\''.
|
||||||
|
(use "git commit --amend" to amend the current commit)
|
||||||
|
(use "git rebase --continue" once you are satisfied with your changes)
|
||||||
|
|
||||||
|
nothing to commit (use -u to show untracked files)
|
||||||
|
EOF
|
||||||
|
git status --untracked-files=no >actual &&
|
||||||
|
test_i18ncmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'status: two commands done with some white lines in done file' '
|
||||||
|
FAKE_LINES="1 > exec_exit_15 2 3" &&
|
||||||
|
export FAKE_LINES &&
|
||||||
|
test_when_finished "git rebase --abort" &&
|
||||||
|
ONTO=$(git rev-parse --short HEAD~3) &&
|
||||||
|
COMMIT4=$(git rev-parse --short HEAD) &&
|
||||||
|
COMMIT3=$(git rev-parse --short HEAD^) &&
|
||||||
|
COMMIT2=$(git rev-parse --short HEAD^^) &&
|
||||||
|
test_must_fail git rebase -i HEAD~3 &&
|
||||||
|
cat >expected <<EOF &&
|
||||||
|
interactive rebase in progress; onto $ONTO
|
||||||
|
Last commands done (2 commands done):
|
||||||
|
pick $COMMIT2 two_commit
|
||||||
|
exec exit 15
|
||||||
|
Next commands to do (2 remaining commands):
|
||||||
|
pick $COMMIT3 three_commit
|
||||||
|
pick $COMMIT4 four_commit
|
||||||
|
(use "git rebase --edit-todo" to view and edit)
|
||||||
|
You are currently editing a commit while rebasing branch '\''several_commits'\'' on '\''$ONTO'\''.
|
||||||
|
(use "git commit --amend" to amend the current commit)
|
||||||
|
(use "git rebase --continue" once you are satisfied with your changes)
|
||||||
|
|
||||||
|
nothing to commit (use -u to show untracked files)
|
||||||
|
EOF
|
||||||
|
git status --untracked-files=no >actual &&
|
||||||
|
test_i18ncmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'status: two remaining commands with some white lines in todo file' '
|
||||||
|
FAKE_LINES="1 2 exec_exit_15 3 > 4" &&
|
||||||
|
export FAKE_LINES &&
|
||||||
|
test_when_finished "git rebase --abort" &&
|
||||||
|
ONTO=$(git rev-parse --short HEAD~4) &&
|
||||||
|
COMMIT4=$(git rev-parse --short HEAD) &&
|
||||||
|
COMMIT3=$(git rev-parse --short HEAD^) &&
|
||||||
|
COMMIT2=$(git rev-parse --short HEAD^^) &&
|
||||||
|
test_must_fail git rebase -i HEAD~4 &&
|
||||||
|
cat >expected <<EOF &&
|
||||||
|
interactive rebase in progress; onto $ONTO
|
||||||
|
Last commands done (3 commands done):
|
||||||
|
pick $COMMIT2 two_commit
|
||||||
|
exec exit 15
|
||||||
|
(see more in file .git/rebase-merge/done)
|
||||||
|
Next commands to do (2 remaining commands):
|
||||||
|
pick $COMMIT3 three_commit
|
||||||
|
pick $COMMIT4 four_commit
|
||||||
|
(use "git rebase --edit-todo" to view and edit)
|
||||||
|
You are currently editing a commit while rebasing branch '\''several_commits'\'' on '\''$ONTO'\''.
|
||||||
|
(use "git commit --amend" to amend the current commit)
|
||||||
|
(use "git rebase --continue" once you are satisfied with your changes)
|
||||||
|
|
||||||
|
nothing to commit (use -u to show untracked files)
|
||||||
|
EOF
|
||||||
|
git status --untracked-files=no >actual &&
|
||||||
|
test_i18ncmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user