Merge branch 'js/rebase-i-tests'
authorJunio C Hamano <gitster@pobox.com>
Thu, 28 Jul 2016 17:34:40 +0000 (10:34 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Jul 2016 17:34:40 +0000 (10:34 -0700)
A few tests that specifically target "git rebase -i" have been
added.

* js/rebase-i-tests:
rebase -i: we allow extra spaces after fixup!/squash!
rebase -i: demonstrate a bug with --autosquash
t3404: add a test for the --gpg-sign option

1  2 
t/t3404-rebase-interactive.sh
index 3532c482fc5270675ccf6efe3a2d805d17a82466,aa393d2cac3b94a8f453a098b02554700ae67998..197914bbd8f36097a6f25e85470a0b2725fac193
@@@ -60,7 -60,7 +60,7 @@@ test_expect_success 'setup' 
        test_commit P fileP
  '
  
 -# "exec" commands are ran with the user shell by default, but this may
 +# "exec" commands are run with the user shell by default, but this may
  # be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work
  # to create a file. Unsetting SHELL avoids such non-portable behavior
  # in tests. It must be exported for it to take effect where needed.
@@@ -219,9 -219,9 +219,9 @@@ test_expect_success 'abort with error w
        git commit -m "remove file in base" &&
        set_fake_editor &&
        test_must_fail git rebase -i master > output 2>&1 &&
 -      grep "The following untracked working tree files would be overwritten by checkout:" \
 +      test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" \
                output &&
 -      grep "file1" output &&
 +      test_i18ngrep "file1" output &&
        test_path_is_missing .git/rebase-merge &&
        git reset --hard HEAD^
  '
@@@ -540,7 -540,7 +540,7 @@@ test_expect_success 'clean error after 
        echo "edited again" > file7 &&
        git add file7 &&
        test_must_fail git rebase --continue 2>error &&
 -      grep "You have staged changes in your working tree." error
 +      test_i18ngrep "You have staged changes in your working tree." error
  '
  
  test_expect_success 'rebase a detached HEAD' '
@@@ -1060,7 -1060,7 +1060,7 @@@ test_expect_success 'todo count' 
        EOF
        test_set_editor "$(pwd)/dump-raw.sh" &&
        git rebase -i HEAD~4 >actual &&
 -      grep "^# Rebase ..* onto ..* ([0-9]" actual
 +      test_i18ngrep "^# Rebase ..* onto ..* ([0-9]" actual
  '
  
  test_expect_success 'rebase -i commits that overwrite untracked files (pick)' '
@@@ -1160,7 -1160,7 +1160,7 @@@ test_expect_success 'rebase -i respect
        FAKE_LINES="1 2 3 4" \
                git rebase -i --root 2>actual &&
        test D = $(git cat-file commit HEAD | sed -ne \$p) &&
 -      test_cmp expect actual
 +      test_i18ncmp expect actual
  '
  
  cat >expect <<EOF
@@@ -1181,7 -1181,7 +1181,7 @@@ test_expect_success 'rebase -i respect
        set_fake_editor &&
        FAKE_LINES="1 2 3 4" \
                git rebase -i --root 2>actual &&
 -      test_cmp expect actual &&
 +      test_i18ncmp expect actual &&
        test D = $(git cat-file commit HEAD | sed -ne \$p)
  '
  
@@@ -1205,7 -1205,7 +1205,7 @@@ test_expect_success 'rebase -i respect
        set_fake_editor &&
        test_must_fail env FAKE_LINES="1 2 4" \
                git rebase -i --root 2>actual &&
 -      test_cmp expect actual &&
 +      test_i18ncmp expect actual &&
        cp .git/rebase-merge/git-rebase-todo.backup \
                .git/rebase-merge/git-rebase-todo &&
        FAKE_LINES="1 2 drop 3 4 drop 5" \
@@@ -1228,7 -1228,7 +1228,7 @@@ test_expect_success 'static check of ba
        set_fake_editor &&
        test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
                git rebase -i --root 2>actual &&
 -      test_cmp expect actual &&
 +      test_i18ncmp expect actual &&
        FAKE_LINES="1 2 3 drop 4 5" git rebase --edit-todo &&
        git rebase --continue &&
        test E = $(git cat-file commit HEAD | sed -ne \$p) &&
@@@ -1263,7 -1263,7 +1263,7 @@@ test_expect_success 'static check of ba
        set_fake_editor &&
        test_must_fail env FAKE_LINES="1 2 edit fakesha 3 4 5 #" \
                git rebase -i --root 2>actual &&
 -      test_cmp expect actual &&
 +      test_i18ncmp expect actual &&
        FAKE_LINES="1 2 4 5 6" git rebase --edit-todo &&
        git rebase --continue &&
        test E = $(git cat-file commit HEAD | sed -ne \$p)
@@@ -1281,4 -1281,12 +1281,12 @@@ test_expect_success 'editor saves as CR
        )
  '
  
+ SQ="'"
+ test_expect_success 'rebase -i --gpg-sign=<key-id>' '
+       set_fake_editor &&
+       FAKE_LINES="edit 1" git rebase -i --gpg-sign="\"S I Gner\"" HEAD^ \
+               >out 2>err &&
+       grep "$SQ-S\"S I Gner\"$SQ" err
+ '
  test_done