git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/5] t7503: simplify file-juggling

From
MÅMartin Ågren <martin.agren@gmail.com>
Date
Aug 2, 2019, 09:56 UTC
Message-ID
<12cae1e82eceb0586bbc132bf8f883bb862189d7.1564737003.git.martin.agren@gmail.com>
In-Reply-To
<cover.1564737003.git.martin.agren@gmail.com>

Rather than creating an empty "expected_hooks" file and another empty file "actual_hooks" (which we want to not be appended to), just verify that "actual_hooks" isn't created. Do still clean up the "actual_hooks" file, so that a failing test won't start affecting later tests too.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
---
 ...3-pre-commit-and-pre-merge-commit-hooks.sh | 60 +++++++------------
 1 file changed, 20 insertions(+), 40 deletions(-)
diff --git a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
index a6f1240aa2..477207cb5c 100755
--- a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
+++ b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
@@ -42,43 +42,35 @@ test_expect_success 'root commit' '
 '
 
 test_expect_success 'with no hook' '
-	test_when_finished "rm -f expected_hooks actual_hooks" &&
-	>expected_hooks &&
-	>actual_hooks &&
+	test_when_finished "rm -f actual_hooks" &&
 	echo "foo" >file &&
 	git add file &&
 	git commit -m "first" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success 'with no hook (merge)' '
-	test_when_finished "rm -f expected_hooks actual_hooks" &&
-	>expected_hooks &&
-	>actual_hooks &&
+	test_when_finished "rm -f actual_hooks" &&
 	git checkout side &&
 	git merge -m "merge master" master &&
 	git checkout master &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success '--no-verify with no hook' '
-	test_when_finished "rm -f expected_hooks actual_hooks" &&
-	>expected_hooks &&
-	>actual_hooks &&
+	test_when_finished "rm -f actual_hooks" &&
 	echo "bar" >file &&
 	git add file &&
 	git commit --no-verify -m "bar" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success '--no-verify with no hook (merge)' '
-	test_when_finished "rm -f expected_hooks actual_hooks" &&
-	>expected_hooks &&
-	>actual_hooks &&
+	test_when_finished "rm -f actual_hooks" &&
 	git checkout side &&
 	git merge --no-verify -m "merge master" master &&
 	git checkout master &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success 'with succeeding hook' '
@@ -104,25 +96,21 @@ test_expect_success 'with succeeding hook (merge)' '
 '
 
 test_expect_success '--no-verify with succeeding hook' '
-	test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" &&
+	test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" &&
 	ln -s "success.sample" "$PRECOMMIT" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	echo "even more" >>file &&
 	git add file &&
 	git commit --no-verify -m "even more" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success '--no-verify with succeeding hook (merge)' '
-	test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" &&
+	test_when_finished "rm -f \"$PREMERGE\" actual_hooks" &&
 	ln -s "success.sample" "$PREMERGE" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	git checkout side &&
 	git merge --no-verify -m "merge master" master &&
 	git checkout master &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success 'with failing hook' '
@@ -137,14 +125,12 @@ test_expect_success 'with failing hook' '
 '
 
 test_expect_success '--no-verify with failing hook' '
-	test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" &&
+	test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" &&
 	ln -s "fail.sample" "$PRECOMMIT" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	echo "stuff" >>file &&
 	git add file &&
 	git commit --no-verify -m "stuff" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success 'with failing hook (merge)' '
@@ -159,38 +145,32 @@ test_expect_success 'with failing hook (merge)' '
 '
 
 test_expect_success '--no-verify with failing hook (merge)' '
-	test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" &&
+	test_when_finished "rm -f \"$PREMERGE\" actual_hooks" &&
 	ln -s "fail.sample" "$PREMERGE" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	git checkout side &&
 	git merge --no-verify -m "merge master" master &&
 	git checkout master &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success POSIXPERM 'with non-executable hook' '
-	test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
+	test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
 	ln -s "fail.sample" "$PRECOMMIT" &&
 	chmod -x "$HOOKDIR/fail.sample" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	echo "content" >>file &&
 	git add file &&
 	git commit -m "content" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success POSIXPERM '--no-verify with non-executable hook' '
-	test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
+	test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
 	ln -s "fail.sample" "$PRECOMMIT" &&
 	chmod -x "$HOOKDIR/fail.sample" &&
-	>expected_hooks &&
-	>actual_hooks &&
 	echo "more content" >>file &&
 	git add file &&
 	git commit --no-verify -m "more content" &&
-	test_cmp expected_hooks actual_hooks
+	test_path_is_missing actual_hooks
 '
 
 test_expect_success 'with hook requiring GIT_PREFIX' '
-- 
2.23.0.rc0.30.g51cf315870
Previous: Martin ÅgrenNext: Josh Steadmon
Message 45 of 59 in “pre-merge hook”
  1. 0/4 pre-merge hookMichael J Gruber, Sep 22, 2017
  2. 2/4 merge: do no-verify like commitMichael J Gruber, Sep 22, 2017
  3. Stefan BellerSep 22, 2017
  4. 1/4 git-merge: Honor pre-merge hookMichael J Gruber, Sep 22, 2017
  5. Stefan BellerSep 22, 2017
  6. Martin ÅgrenSep 23, 2017
  7. 3/4 merge: --no-verify to bypass pre-merge hookMichael J Gruber, Sep 22, 2017
  8. Junio C HamanoSep 23, 2017
  9. Michael J GruberSep 25, 2017
  10. 4/4 t7503: add tests for pre-merge-hookMichael J Gruber, Sep 22, 2017
  11. Stefan BellerSep 22, 2017
  12. Junio C HamanoOct 2, 2017
  13. Stefan BellerOct 2, 2017
  14. Junio C HamanoOct 17, 2017
  15. 0/4 pre-merge hookJosh Steadmon, Jul 18, 2019
  16. 0/4 pre-merge hookJosh Steadmon, Jul 18, 2019
  17. 1/4 git-merge: Honor pre-merge hookJosh Steadmon, Jul 18, 2019
  18. Martin ÅgrenJul 29, 2019
  19. 2/4 merge: do no-verify like commitJosh Steadmon, Jul 18, 2019
  20. 3/4 merge: --no-verify to bypass pre-merge hookJosh Steadmon, Jul 18, 2019
  21. Martin ÅgrenJul 29, 2019
  22. Josh SteadmonJul 29, 2019
  23. 4/4 t7503: add tests for pre-merge-hookJosh Steadmon, Jul 18, 2019
  24. Martin ÅgrenJul 29, 2019
  25. Josh SteadmonJul 29, 2019
  26. Martin ÅgrenJul 30, 2019
  27. Josh SteadmonJul 31, 2019
  28. Martin ÅgrenJul 29, 2019
  29. Josh SteadmonJul 29, 2019
  30. Martin ÅgrenJul 29, 2019
  31. Josh SteadmonJul 29, 2019
  32. 0/4 pre-merge-commit hookJosh Steadmon, Aug 1, 2019
  33. 1/4 t7503: verify proper hook executionJosh Steadmon, Aug 1, 2019
  34. Martin ÅgrenAug 2, 2019
  35. 2/4 merge: do no-verify like commitJosh Steadmon, Aug 1, 2019
  36. 3/4 git-merge: honor pre-merge-commit hookJosh Steadmon, Aug 1, 2019
  37. Martin ÅgrenAug 2, 2019
  38. Josh SteadmonAug 2, 2019
  39. 4/4 merge: --no-verify to bypass pre-merge-commit hookJosh Steadmon, Aug 1, 2019
  40. Martin ÅgrenAug 2, 2019
  41. 1/5 t7503: use "&&" in "test_when_finished" rather than ";"Martin Ågren, Aug 2, 2019
  42. 2/5 t7503: avoid touch when mtime doesn't matterMartin Ågren, Aug 2, 2019
  43. 5/5 t7503: test failing merge with both hooks availableMartin Ågren, Aug 2, 2019
  44. 4/5 t7503: don't create "actual_hooks" for later appendingMartin Ågren, Aug 2, 2019
  45. 3/5 t7503: simplify file-jugglingMartin Ågren, Aug 2, 2019
  46. Josh SteadmonAug 2, 2019
  47. 0/4 pre-merge-commit hookJosh Steadmon, Aug 5, 2019
  48. 1/4 t7503: verify proper hook executionJosh Steadmon, Aug 5, 2019
  49. Junio C HamanoAug 6, 2019
  50. Josh SteadmonAug 7, 2019
  51. 2/4 merge: do no-verify like commitJosh Steadmon, Aug 5, 2019
  52. 3/4 git-merge: honor pre-merge-commit hookJosh Steadmon, Aug 5, 2019
  53. 4/4 merge: --no-verify to bypass pre-merge-commit hookJosh Steadmon, Aug 5, 2019
  54. 0/4 pre-merge-commit hookJosh Steadmon, Aug 7, 2019
  55. 1/4 t7503: verify proper hook executionJosh Steadmon, Aug 7, 2019
  56. 2/4 merge: do no-verify like commitJosh Steadmon, Aug 7, 2019
  57. 3/4 git-merge: honor pre-merge-commit hookJosh Steadmon, Aug 7, 2019
  58. 4/4 merge: --no-verify to bypass pre-merge-commit hookJosh Steadmon, Aug 7, 2019
  59. Martin ÅgrenAug 8, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.