Re: [PATCH 07/12] t4150: am with applypatch-msg hook

2015-07-06 Thread Junio C Hamano
Paul Tan pyoka...@gmail.com writes:

 +test_expect_success 'am with applypatch-msg hook' '
 + test_when_finished rm -f .git/hooks/applypatch-msg 
 + rm -fr .git/rebase-apply 
 + git reset --hard 
 + git checkout first 
 + mkdir -p .git/hooks 
 + cat .git/hooks/applypatch-msg -\EOF 
 + #!/bin/sh
 + cat $1 actual-msg 
 + echo hook-message $1
 + EOF
 + chmod +x .git/hooks/applypatch-msg 

This (and the other one below) looks like a good candidate for the
write_script helper.

 + git am patch1 
 + test_path_is_missing .git/rebase-apply 
 + git diff --exit-code second 
 + echo hook-message expected 
 + git log -1 --format=format:%B actual 
 + test_cmp expected actual 
 + git log -1 --format=format:%B second expected 
 + test_cmp expected actual-msg
 +'
 +
 +test_expect_success 'am with failing applypatch-msg hook' '
 + test_when_finished rm -f .git/hooks/applypatch-msg 
 + rm -fr .git/rebase-apply 
 + git reset --hard 
 + git checkout first 
 + mkdir -p .git/hooks 
 + cat .git/hooks/applypatch-msg -\EOF 
 + #!/bin/sh
 + exit 1
 + EOF
 + chmod +x .git/hooks/applypatch-msg 
 + test_must_fail git am patch1 
 + test_path_is_dir .git/rebase-apply 
 + git diff --exit-code first 
 + test_cmp_rev first HEAD
 +'
 +
  test_expect_success 'setup: new author and committer' '
   GIT_AUTHOR_NAME=Another Thor 
   GIT_AUTHOR_EMAIL=a.t...@example.com 
--
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 07/12] t4150: am with applypatch-msg hook

2015-07-02 Thread Paul Tan
Since d1c5f2a (Add git-am, applymbox replacement., 2005-10-07), git-am
will invoke the applypatch-msg hooks just after extracting the patch
message. If the applypatch-msg hook exits with a non-zero status, git-am
abort before even applying the patch to the index.

Add tests for this hook.

Cc: Junio C Hamano gits...@pobox.com
Signed-off-by: Paul Tan pyoka...@gmail.com
---
 t/t4150-am.sh | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 05494e9..24c1b42 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -198,6 +198,45 @@ test_expect_success 'am applies patch e-mail with 
preceding whitespace' '
test $(git rev-parse second^) = $(git rev-parse HEAD^)
 '
 
+test_expect_success 'am with applypatch-msg hook' '
+   test_when_finished rm -f .git/hooks/applypatch-msg 
+   rm -fr .git/rebase-apply 
+   git reset --hard 
+   git checkout first 
+   mkdir -p .git/hooks 
+   cat .git/hooks/applypatch-msg -\EOF 
+   #!/bin/sh
+   cat $1 actual-msg 
+   echo hook-message $1
+   EOF
+   chmod +x .git/hooks/applypatch-msg 
+   git am patch1 
+   test_path_is_missing .git/rebase-apply 
+   git diff --exit-code second 
+   echo hook-message expected 
+   git log -1 --format=format:%B actual 
+   test_cmp expected actual 
+   git log -1 --format=format:%B second expected 
+   test_cmp expected actual-msg
+'
+
+test_expect_success 'am with failing applypatch-msg hook' '
+   test_when_finished rm -f .git/hooks/applypatch-msg 
+   rm -fr .git/rebase-apply 
+   git reset --hard 
+   git checkout first 
+   mkdir -p .git/hooks 
+   cat .git/hooks/applypatch-msg -\EOF 
+   #!/bin/sh
+   exit 1
+   EOF
+   chmod +x .git/hooks/applypatch-msg 
+   test_must_fail git am patch1 
+   test_path_is_dir .git/rebase-apply 
+   git diff --exit-code first 
+   test_cmp_rev first HEAD
+'
+
 test_expect_success 'setup: new author and committer' '
GIT_AUTHOR_NAME=Another Thor 
GIT_AUTHOR_EMAIL=a.t...@example.com 
-- 
2.5.0.rc1.81.gfe77482

--
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