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

[PATCH v2 0/4] leak tests: mark remaining tests leak-free as such

From
Taylor Blau <me@ttaylorr.com>
Date
Aug 28, 2023, 22:52 UTC
Message-ID
<cover.1693263171.git.me@ttaylorr.com>
In-Reply-To
<cover.1692902414.git.me@ttaylorr.com>

Here is a reroll of my (I guess now mine and Peff's!) series to update our test scripts to accurately mark which ones are leak-free.

This is mostly unchanged from the previous round, modulo cleaning up the first (now second) patch's message, and inserting a new patch from Peff at the beginning to ignore noisy LSan output.

Thanks in advance for your review!
Jeff King (1):
  test-lib: ignore uninteresting LSan output
Taylor Blau (3):
  leak tests: mark a handful of tests as leak-free
  leak tests: mark t3321-notes-stripspace.sh as leak-free
  leak tests: mark t5583-push-branches.sh as leak-free
 t/t3321-notes-stripspace.sh | 1 +
 t/t5571-pre-push-hook.sh    | 1 +
 t/t5583-push-branches.sh    | 1 +
 t/t7516-commit-races.sh     | 2 ++
 t/test-lib.sh               | 1 +
 5 files changed, 6 insertions(+)
Range-diff against v1:
-:  ---------- > 1:  7dd42212c0 test-lib: ignore uninteresting LSan output
1:  b1711c4c81 ! 2:  164f37cade leak tests: mark a handful of tests as leak-free
    @@ Commit message
         'ab/mark-leak-free-tests', 2021-10-25), a handful of tests in the suite
         were marked as leak-free.
     
    -    As far as I can tell, each patch from that series ran tests from a
    -    handful of subject areas, such as "some ls-files tests", or "all trace2
    -    tests". This left some gaps in which tests had and hadn't been audited
    -    to be leak-free.
    +    Since then, a handful of tests have become leak-free due to changes like
     
    -    This patch closes those gaps by exporting TEST_PASSES_SANITIZE_LEAK=true
    -    before sourcing t/test-lib.sh on most remaining leak-free tests. This
    -    list was compiled by doing:
    +      - 861c56f6f9 (branch: fix a leak in setup_tracking, 2023-06-11), and
    +      - 866b43e644 (do_read_index(): always mark index as initialized unless
    +        erroring out, 2023-06-29)
    +
    +    , but weren't updated at the time to mark themselves as such. This leads
    +    to test "failures" when running:
     
             $ make SANITIZE=leak
    -        $ make \
    +        $ make -C t \
                 GIT_TEST_PASSING_SANITIZE_LEAK=check \
                 GIT_TEST_SANITIZE_LEAK_LOG=true \
                 GIT_TEST_OPTS=-vi test
     
    -    and looking through the list of failing tests in the output.
    +    This patch closes those gaps by exporting TEST_PASSES_SANITIZE_LEAK=true
    +    before sourcing t/test-lib.sh on most remaining leak-free tests.
     
         There are a couple of other tests which are similarly leak-free, but not
         included in the list of tests touched by this patch. The remaining tests
         will be addressed in the subsequent two patches.
     
    +    Helped-by: Jeff King <peff@peff.net>
         Signed-off-by: Taylor Blau <me@ttaylorr.com>
     
      ## t/t5571-pre-push-hook.sh ##
2:  cfeca88942 = 3:  116555fc02 leak tests: mark t3321-notes-stripspace.sh as leak-free
3:  4011eb6a8b = 4:  a16a0b2cac leak tests: mark t5583-push-branches.sh as leak-free
-- 
2.42.0.49.g03c54e21ee
Previous: Jeff KingNext: Taylor Blau
Message 15 of 21 in “leak tests: mark remaining tests leak-free as such”
  1. 0/3 leak tests: mark remaining tests leak-free as suchTaylor Blau, Aug 24, 2023
  2. 2/3 leak tests: mark t3321-notes-stripspace.sh as leak-freeTaylor Blau, Aug 24, 2023
  3. 1/3 leak tests: mark a handful of tests as leak-freeTaylor Blau, Aug 24, 2023
  4. Jeff KingAug 24, 2023
  5. Taylor BlauAug 25, 2023
  6. Jeff KingAug 25, 2023
  7. Junio C HamanoAug 28, 2023
  8. test-lib: ignore uninteresting LSan outputJeff King, Aug 28, 2023
  9. 3/3 leak tests: mark t5583-push-branches.sh as leak-freeTaylor Blau, Aug 24, 2023
  10. Junio C HamanoAug 24, 2023
  11. Jeff KingAug 24, 2023
  12. Jeff KingAug 24, 2023
  13. Taylor BlauAug 25, 2023
  14. Jeff KingAug 25, 2023
  15. 0/4 leak tests: mark remaining tests leak-free as suchTaylor Blau, Aug 28, 2023
  16. 2/4 leak tests: mark a handful of tests as leak-freeTaylor Blau, Aug 28, 2023
  17. 4/4 leak tests: mark t5583-push-branches.sh as leak-freeTaylor Blau, Aug 28, 2023
  18. 3/4 leak tests: mark t3321-notes-stripspace.sh as leak-freeTaylor Blau, Aug 28, 2023
  19. 1/4 test-lib: ignore uninteresting LSan outputTaylor Blau, Aug 28, 2023
  20. Jeff KingAug 29, 2023
  21. Junio C HamanoAug 29, 2023

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.