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

Re: [PATCHv4 06/15] t3600 (rm): add lots of missing &&

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Oct 1, 2010, 10:48 UTC
Message-ID
<20101001104823.GD6816@burratino>
In-Reply-To
<1285542879-16381-7-git-send-email-newren@gmail.com>
Elijah Newren wrote:
> Also delete unnecessary, failing code and add some test_when_finished
> calls to make sure tests clean up after themselves.
I don't understand this one.

If tests clean up after themselves, each will restore some pristine state as though (at least as far as the other tests care) it had never run at all, right?

Show 11 quoted lines
> --- a/t/t3600-rm.sh
> +++ b/t/t3600-rm.sh
> @@ -38,37 +38,33 @@ test_expect_success \
>  
>  test_expect_success \
>      'Test that git rm --cached foo succeeds if the index matches the file' \
> -    'echo content > foo
> -     git add foo
> +    'echo content > foo &&
> +     git add foo &&
>       git rm --cached foo'
Before this runs: foo is empty, absent from index.
After it runs: foo has content, still absent from index.
Requires: nothing.
 
Show 12 quoted lines
>  test_expect_success \
>      'Test that git rm --cached foo succeeds if the index matches the file' \
> -    'echo content > foo
> -     git add foo
> -     git commit -m foo
> -     echo "other content" > foo
> +    'echo content > foo &&
> +     git add foo &&
> +     git commit -m foo &&
> +     echo "other content" > foo &&
> +     test_when_finished "git checkout HEAD -- foo" &&
>       git rm --cached foo'
Before this runs: foo has content, absent from index.
After this runs (without patch): foo has other content, absent from index.
After this runs (with patch): foo has content, matching index.
Requires: nothing.
Show 14 quoted lines
>  test_expect_success \
>      'Test that git rm --cached foo fails if the index matches neither the file nor HEAD' '
> -     echo content > foo
> -     git add foo
> -     git commit -m foo
> -     echo "other content" > foo
> -     git add foo
> -     echo "yet another content" > foo
> +     echo "other content" > foo &&
> +     git add foo &&
> +     echo "yet another content" > foo &&
> +     test_when_finished "git checkout HEAD -- foo" &&
>       test_must_fail git rm --cached foo
>  '

Before this runs: see above. After this runs (without patch): foo has yet another content, absent from index. After this runs (with patch): foo has content, matching index. Requires (without patch): nothing. Requires (with patch): HEAD:foo is content.

[etc]

So if I understand correctly, this sacrifices the ability to skip individual tests. What does one gain in return?

Previous: Elijah NewrenNext: Elijah Newren
Message 23 of 51 in “[PATCHv4 00/15] Add missing &&'s in the testsuite”
  1. Elijah NewrenSep 26, 2010
  2. 01/15 t3020 (ls-files-error-unmatch): remove stray '1' from end of fileElijah Newren, Sep 26, 2010
  3. 02/15 t4017 (diff-retval): replace manual exit code check with test_expect_codeElijah Newren, Sep 26, 2010
  4. Junio C HamanoSep 29, 2010
  5. Ævar Arnfjörð BjarmasonSep 29, 2010
  6. Jonathan NiederOct 1, 2010
  7. Ævar Arnfjörð BjarmasonOct 1, 2010
  8. Jonathan NiederOct 1, 2010
  9. Junio C HamanoOct 1, 2010
  10. test-lib: make test_expect_code a test commandÆvar Arnfjörð Bjarmason, Oct 1, 2010
  11. Sverre RabbelierOct 1, 2010
  12. Ævar Arnfjörð BjarmasonOct 1, 2010
  13. Sverre RabbelierOct 1, 2010
  14. test-lib: make test_expect_code a test commandÆvar Arnfjörð Bjarmason, Oct 1, 2010
  15. Jonathan NiederOct 1, 2010
  16. 03/15 t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&Elijah Newren, Sep 26, 2010
  17. Junio C HamanoSep 29, 2010
  18. Jonathan NiederOct 1, 2010
  19. 04/15 t4002 (diff-basic): use test_might_fail for commands that might failElijah Newren, Sep 26, 2010
  20. Jonathan NiederOct 1, 2010
  21. 05/15 t4202 (log): Replace '<git-command> || :' with test_might_failElijah Newren, Sep 26, 2010
  22. 06/15 t3600 (rm): add lots of missing &&Elijah Newren, Sep 26, 2010
  23. Jonathan NiederOct 1, 2010
  24. Elijah NewrenOct 3, 2010
  25. 07/15 t4019 (diff-wserror): add lots of missing &&Elijah Newren, Sep 26, 2010
  26. Junio C HamanoSep 29, 2010
  27. Elijah NewrenOct 3, 2010
  28. Jonathan NiederOct 1, 2010
  29. 08/15 t4026 (color): remove unneeded and unchained commandElijah Newren, Sep 26, 2010
  30. 09/15 t5602 (clone-remote-exec): add missing &&Elijah Newren, Sep 26, 2010
  31. Junio C HamanoSep 29, 2010
  32. Jonathan NiederOct 1, 2010
  33. Elijah NewrenOct 3, 2010
  34. 10/15 t6016 (rev-list-graph-simplify-history): add missing &&Elijah Newren, Sep 26, 2010
  35. Jonathan NiederSep 27, 2010
  36. 11/15 t7001 (mv): add missing &&Elijah Newren, Sep 26, 2010
  37. 12/15 t7601 (merge-pull-config): add missing &&Elijah Newren, Sep 26, 2010
  38. 13/15 t7800 (difftool): add missing &&Elijah Newren, Sep 26, 2010
  39. Jonathan NiederOct 1, 2010
  40. 14/15 Add missing &&'s throughout the testsuiteElijah Newren, Sep 26, 2010
  41. Junio C HamanoSep 29, 2010
  42. Ævar Arnfjörð BjarmasonOct 1, 2010
  43. Jonathan NiederOct 1, 2010
  44. 15/15 Replace "unset VAR" with "unset VAR;" in testsuite as per t/READMEElijah Newren, Sep 26, 2010
  45. Junio C HamanoSep 29, 2010
  46. Ævar Arnfjörð BjarmasonSep 29, 2010
  47. Elijah NewrenSep 29, 2010
  48. Junio C HamanoSep 30, 2010
  49. Elijah NewrenSep 30, 2010
  50. Jonathan NiederOct 1, 2010
  51. Sverre RabbelierOct 1, 2010

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.