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

Re: [PATCH 2/4] t7610: make tests more independent and debuggable

From
RHRichard Hansen <hansenr@google.com>
Date
Jan 5, 2017, 15:41 UTC
Message-ID
<3f0222d0-fc61-ac41-3b1d-7f506fcb1f61@scientician.org>
In-Reply-To
<CAGZ79kb9UvV6AaRLBP5OzyRtTTXarRZRZDMd_1k5n9CrgbVr5A@mail.gmail.com>
On 2017-01-04 15:27, Stefan Beller wrote:
Show 21 quoted lines
> On Tue, Jan 3, 2017 at 4:50 PM, Richard Hansen <hansenr@google.com> wrote:
>> If a test fails it might leave the repository in a strange state.  Add
>> 'git reset --hard' at the beginning of each test to increase the odds
>> of passing when an earlier test fails.
>
> So each test is cleaning up the previous test, which *may* confuse
> a reader ("how is the reset --hard relevant for this test? Oooh it's
> just a cleanup").
>
> We could put it another way by having each test itself make clean
> up after itself via
>
>   test_when_finished "git reset --hard" &&
>   ..
>
> at the beginning of each test.
> This would produce the same order of operations, i.e. a
> reset run between each test, but semantically tells the reader
> that the reset is part of the current test cleaning up after itself,
> as "reset" is operation for this particular test to cleanup.
> Does that make sense?
I like that idea; thanks for the suggestion.  I'll cook up a reroll.
Show 10 quoted lines
>>
>> Also use test-specific branches to avoid interfering with later tests
>> and to make the tests easier to debug.
>
> That sounds great!
> Though in the code I only spot one occurrence for
>
> +       git checkout -b test$test_count branch1 &&
>
> so maybe that could be part of the first patch in the series?

There are two; the other is buried in the change for the 'mergetool on file in parent dir' test.

Thanks for the review, Richard

>
> Thanks,
> Stefan
Previous: Richard HansenNext: Simon Ruderich
Message 5 of 76 in “fix mergetool+rerere+subdir regression”
  1. 0/4 fix mergetool+rerere+subdir regressionRichard Hansen, Jan 4, 2017
  2. 2/4 t7610: make tests more independent and debuggableRichard Hansen, Jan 4, 2017
  3. Stefan BellerJan 4, 2017
  4. Richard HansenJan 5, 2017
  5. Richard HansenJan 5, 2017
  6. Simon RuderichJan 5, 2017
  7. Richard HansenJan 5, 2017
  8. 3/4 t7610: add test case for rerere+mergetool+subdir bugRichard Hansen, Jan 4, 2017
  9. 1/4 t7610: update branch names to match test numberRichard Hansen, Jan 4, 2017
  10. 4/4 mergetool: fix running in subdir when rerere enabledRichard Hansen, Jan 4, 2017
  11. 0/4 fix mergetool+rerere+subdir regressionRichard Hansen, Jan 6, 2017
  12. 4/4 mergetool: fix running in subdir when rerere enabledRichard Hansen, Jan 6, 2017
  13. Johannes SixtJan 6, 2017
  14. Richard HansenJan 7, 2017
  15. 3/4 t7610: add test case for rerere+mergetool+subdir bugRichard Hansen, Jan 6, 2017
  16. 1/4 t7610: update branch names to match test numberRichard Hansen, Jan 6, 2017
  17. 2/4 t7610: make tests more independent and debuggableRichard Hansen, Jan 6, 2017
  18. Stefan BellerJan 6, 2017
  19. Richard HansenJan 7, 2017
  20. 00/13 fix mergetool+rerere+subdir regressionRichard Hansen, Jan 9, 2017
  21. 01/13 .mailmap: Use my personal email address as my canonicalRichard Hansen, Jan 9, 2017
  22. 05/13 t7610: don't rely on state from previous testRichard Hansen, Jan 9, 2017
  23. 06/13 t7610: run 'git reset --hard' after each test to clean upRichard Hansen, Jan 9, 2017
  24. 03/13 t7610: Move setup code to the 'setup' test case.Richard Hansen, Jan 9, 2017
  25. 04/13 t7610: use test_when_finished for cleanup tasksRichard Hansen, Jan 9, 2017
  26. 07/13 t7610: delete some now-unnecessary 'git reset --hard' linesRichard Hansen, Jan 9, 2017
  27. 08/13 t7610: always work on a test-specific branchRichard Hansen, Jan 9, 2017
  28. 13/13 mergetool: fix running in subdir when rerere enabledRichard Hansen, Jan 9, 2017
  29. Junio C HamanoJan 9, 2017
  30. Junio C HamanoJan 9, 2017
  31. Johannes SixtJan 9, 2017
  32. Richard HansenJan 9, 2017
  33. Junio C HamanoJan 9, 2017
  34. Junio C HamanoJan 9, 2017
  35. Richard HansenJan 9, 2017
  36. 09/13 t7610: don't assume the checked-out commitRichard Hansen, Jan 9, 2017
  37. 12/13 mergetool: take the "-O" out of $orderfileRichard Hansen, Jan 9, 2017
  38. 11/13 t7610: add test case for rerere+mergetool+subdir bugRichard Hansen, Jan 9, 2017
  39. 10/13 t7610: spell 'git reset --hard' consistentlyRichard Hansen, Jan 9, 2017
  40. 02/13 t7610: update branch names to match test numberRichard Hansen, Jan 9, 2017
  41. Stefan BellerJan 9, 2017
  42. 00/14 fix mergetool+rerere+subdir regressionRichard Hansen, Jan 9, 2017
  43. 01/14 .mailmap: Use my personal email address as my canonicalRichard Hansen, Jan 9, 2017
  44. 02/14 rev-parse doc: use "--" in the --prefix exampleRichard Hansen, Jan 9, 2017
  45. 04/14 t7610: Move setup code to the 'setup' test case.Richard Hansen, Jan 9, 2017
  46. 05/14 t7610: use test_when_finished for cleanup tasksRichard Hansen, Jan 9, 2017
  47. 08/14 t7610: delete some now-unnecessary 'git reset --hard' linesRichard Hansen, Jan 9, 2017
  48. 10/14 t7610: don't assume the checked-out commitRichard Hansen, Jan 9, 2017
  49. 13/14 mergetool: take the "-O" out of $orderfileRichard Hansen, Jan 9, 2017
  50. 11/14 t7610: spell 'git reset --hard' consistentlyRichard Hansen, Jan 9, 2017
  51. 14/14 mergetool: fix running in subdir when rerere enabledRichard Hansen, Jan 9, 2017
  52. Johannes SixtJan 10, 2017
  53. Richard HansenJan 10, 2017
  54. Junio C HamanoJan 10, 2017
  55. Johannes SixtJan 10, 2017
  56. 12/14 t7610: add test case for rerere+mergetool+subdir bugRichard Hansen, Jan 9, 2017
  57. 09/14 t7610: always work on a test-specific branchRichard Hansen, Jan 9, 2017
  58. 07/14 t7610: run 'git reset --hard' after each test to clean upRichard Hansen, Jan 9, 2017
  59. 06/14 t7610: don't rely on state from previous testRichard Hansen, Jan 9, 2017
  60. 03/14 t7610: update branch names to match test numberRichard Hansen, Jan 9, 2017
  61. 00/14 fix mergetool+rerere+subdir regressionRichard Hansen, Jan 10, 2017
  62. 01/14 .mailmap: Use my personal email address as my canonicalRichard Hansen, Jan 10, 2017
  63. 09/14 t7610: always work on a test-specific branchRichard Hansen, Jan 10, 2017
  64. 11/14 t7610: spell 'git reset --hard' consistentlyRichard Hansen, Jan 10, 2017
  65. 10/14 t7610: don't assume the checked-out commitRichard Hansen, Jan 10, 2017
  66. 12/14 t7610: add test case for rerere+mergetool+subdir bugRichard Hansen, Jan 10, 2017
  67. 13/14 mergetool: take the "-O" out of $orderfileRichard Hansen, Jan 10, 2017
  68. 14/14 mergetool: fix running in subdir when rerere enabledRichard Hansen, Jan 10, 2017
  69. 08/14 t7610: delete some now-unnecessary 'git reset --hard' linesRichard Hansen, Jan 10, 2017
  70. 07/14 t7610: run 'git reset --hard' after each test to clean upRichard Hansen, Jan 10, 2017
  71. 06/14 t7610: don't rely on state from previous testRichard Hansen, Jan 10, 2017
  72. 05/14 t7610: use test_when_finished for cleanup tasksRichard Hansen, Jan 10, 2017
  73. 04/14 t7610: Move setup code to the 'setup' test case.Richard Hansen, Jan 10, 2017
  74. 03/14 t7610: update branch names to match test numberRichard Hansen, Jan 10, 2017
  75. 02/14 rev-parse doc: pass "--" to rev-parse in the --prefix exampleRichard Hansen, Jan 10, 2017
  76. David AguilarJan 10, 2017

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.