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

Re: [PATCH v2 4/4] t7503: add tests for pre-merge-hook

From
Josh Steadmon <steadmon@google.com>
Date
Jul 31, 2019, 18:34 UTC
Message-ID
<20190731183420.GO43313@google.com>
In-Reply-To
<CAN0heSodNUQ4eoipj7dVi7kr-NhHNyppcMm_SYpGTr_xZbgZHA@mail.gmail.com>
On 2019.07.30 09:13, Martin Ågren wrote:
Show 29 quoted lines
> On Tue, 30 Jul 2019 at 01:43, Josh Steadmon <steadmon@google.com> wrote:
> >
> > On 2019.07.29 22:04, Martin Ågren wrote:
> > > This script seems to me like if it passes 100%, we can be fairly sure
> > > we're ok, but [...]
> 
> > Will squash these as you said in V3. Will also think about whether
> > another test approach would make more sense here.
> 
> Thinking a bit more about this, this test uses two identical hooks, runs
> some commands and verifies that "the" hook was run (or not, with
> --no-verify). If the implementation started calling the wrong hook
> (pre-commit / pre-merge) or both hooks, we wouldn't notice.
> 
> Please forgive my braindump below, I'm on the run so I'm just throwing
> this out there:
> 
> Perhaps (first do some modernizing of this script, to protect various
> setup steps, use "write_script", etc, then) make the existing hook a
> tiny bit pre-commit-specific, e.g., by doing something like "echo
> pre-commit >>executed-hooks", then at select places check "test_cmp
> executed-hooks pre-commit" (against "echo pre-commit >pre-commit"),
> "test_path_is_missing executed-hooks", and so on, coupled with some
> "test_when_finished 'rm -f executed_hooks'". Then the tests added for
> this series would use a very similar hook, appending and checking for
> "pre-merge[-commit]", That should make us fairly certain that we're
> running precisely the wanted hook, I think.
> 
> Martin

That sounds like a reasonable approach, thank you for the suggestions. I will work on this for V3.

Previous: Martin ÅgrenNext: Martin Ågren
Message 27 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.