[PATCH 4/4] status: add new tests for status during rebase -i

2015-06-09 Thread Guillaume Pagès
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.pa...@ensimag.grenoble-inp.fr
---
 t/t7512-status-help.sh | 87 ++
 1 file changed, 87 insertions(+)

diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index 0c889fa..cbe27f9 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -856,4 +856,91 @@ EOF
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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse 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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse 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
-- 
2.4.2.342.ga3499d3

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 4/4] status: add new tests for status during rebase -i

2015-06-08 Thread Guillaume Pagès
Expand test coverage with one or more than two commands done
and with zero, one or more than two commands remaining
---
 t/t7512-status-help.sh | 88 ++
 1 file changed, 88 insertions(+)

diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index 0c889fa..844ba15 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -856,4 +856,92 @@ EOF
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) 
+   (git rebase -i HEAD~3 || true) 
+   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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse HEAD^^) 
+   (git rebase -i HEAD~3 || true) 
+   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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse HEAD^^) 
+   (git rebase -i HEAD~4 || true) 
+   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
-- 
2.4.2.342.gc0899ef

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] status: add new tests for status during rebase -i

2015-06-04 Thread Matthieu Moy
I'd swap 3/4 and 4/4 so that we see the impact of your code on these new
tests. I won't insist on that though.

Please help reviewers by explaining in the commit message why these
tests are needed (what was not covered properly by existing tests?)

Guillaume Pagès guillaume.pa...@ensimag.grenoble-inp.fr writes:

 +test_expect_success 'status: two commands done, two remainings' '
 + 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 HEAD) 
 + COMMIT3=$(git rev-parse HEAD^) 
 + COMMIT2=$(git rev-parse HEAD^^) 
 + (git rebase -i HEAD~3 || true)

Space before 

(same on second test)

 +   cat expected EOF 

Indent with spaces.

I did not do a thourough review, but this version looks much, much nicer
than the previous one (see how PATCH 1/4 and PATCH 2/4 are nice now?).

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 4/4] status: add new tests for status during rebase -i

2015-06-03 Thread Guillaume Pagès
---
 t/t7512-status-help.sh | 88 ++
 1 file changed, 88 insertions(+)

diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index 4dd201a..dff912b 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -856,4 +856,92 @@ EOF
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) 
+   (git rebase -i HEAD~3 || true)
+   cat expected EOF 
+interactive rebase in progress; onto $ONTO
+Last command(s) done (1 command(s) done):
+   exec exit 15
+No command 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, two remainings' '
+   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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse HEAD^^) 
+   (git rebase -i HEAD~3 || true)
+   cat expected EOF 
+interactive rebase in progress; onto $ONTO
+Last command(s) done (2 command(s) done):
+   pick $COMMIT2 two_commit
+   exec exit 15
+Next command(s) to do (2 remaining command(s)):
+   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: more than two commands done, two remainings' '
+   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 HEAD) 
+   COMMIT3=$(git rev-parse HEAD^) 
+   COMMIT2=$(git rev-parse HEAD^^) 
+   (git rebase -i HEAD~4 || true)
+   cat expected EOF 
+interactive rebase in progress; onto $ONTO
+Last command(s) done (3 command(s) done):
+   pick $COMMIT2 two_commit
+   exec exit 15
+  (see more at .git/rebase-merge/done)
+Next command(s) to do (2 remaining command(s)):
+   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
-- 
2.4.2.342.g3cebd9b

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html