t5500: add tests of error output for missing refs
[gitweb.git] / t / t3501-revert-cherry-pick.sh
index 7f858151d4d7c1548803944de0dd8c54cdd8c78b..34c86e5de69468fe7618383e556d1711cc49b0bb 100755 (executable)
@@ -41,13 +41,32 @@ test_expect_success setup '
        git tag rename2
 '
 
+test_expect_success 'cherry-pick --nonsense' '
+
+       pos=$(git rev-parse HEAD) &&
+       git diff --exit-code HEAD &&
+       test_must_fail git cherry-pick --nonsense 2>msg &&
+       git diff --exit-code HEAD "$pos" &&
+       test_i18ngrep '[Uu]sage:' msg
+'
+
+test_expect_success 'revert --nonsense' '
+
+       pos=$(git rev-parse HEAD) &&
+       git diff --exit-code HEAD &&
+       test_must_fail git revert --nonsense 2>msg &&
+       git diff --exit-code HEAD "$pos" &&
+       test_i18ngrep '[Uu]sage:' msg
+'
+
 test_expect_success 'cherry-pick after renaming branch' '
 
        git checkout rename2 &&
        git cherry-pick added &&
        test $(git rev-parse HEAD^) = $(git rev-parse rename2) &&
        test -f opos &&
-       grep "Add extra line at the end" opos
+       grep "Add extra line at the end" opos &&
+       git reflog -1 | grep cherry-pick
 
 '
 
@@ -57,8 +76,19 @@ test_expect_success 'revert after renaming branch' '
        git revert added &&
        test $(git rev-parse HEAD^) = $(git rev-parse rename1) &&
        test -f spoo &&
-       ! grep "Add extra line at the end" spoo
+       ! grep "Add extra line at the end" spoo &&
+       git reflog -1 | grep revert
+
+'
 
+test_expect_success 'cherry-pick on stat-dirty working tree' '
+       git clone . copy &&
+       (
+               cd copy &&
+               git checkout initial &&
+               test-chmtime +40 oops &&
+               git cherry-pick added
+       )
 '
 
 test_expect_success 'revert forbidden on dirty working tree' '
@@ -66,7 +96,7 @@ test_expect_success 'revert forbidden on dirty working tree' '
        echo content >extra_file &&
        git add extra_file &&
        test_must_fail git revert HEAD 2>errors &&
-       grep "Your local changes would be overwritten by " errors
+       test_i18ngrep "Your local changes would be overwritten by " errors
 
 '