public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jeff King <peff@peff•net>
To: Junio C Hamano <gitster@pobox•com>
Cc: Patrick Steinhardt <ps@pks•im>, git@vger•kernel.org
Subject: [PATCH 5/6] test-lib: check leak logs for presence of DEDUP_TOKEN
Date: Wed, 1 Jan 2025 15:18:28 -0500	[thread overview]
Message-ID: <20250101201828.GE3305462@coredump.intra.peff.net> (raw)
In-Reply-To: <20250101201226.GA3304465@coredump.intra.peff.net>

When we check the leak logs, our original strategy was to check for any
non-empty log file produced by LSan. We later amended that to ignore
noisy lines in 370ef7e40d (test-lib: ignore uninteresting LSan output,
2023-08-28).

This makes it hard to ignore noise which is more than a single line;
we'd have to actually parse the file to determine the meaning of each
line.

But there's an easy line-oriented solution. Because we always pass the
dedup_token_length option, the output will contain a DEDUP_TOKEN line
for each leak that has been found. So if we invert our strategy to stop
ignoring useless lines and only look for useful ones, we can just count
the number of DEDUP_TOKEN lines. If it's non-zero, then we found at
least one leak (it would even give us a count of unique leaks, but we
really only care if it is non-zero).

This should yield the same outcome, but will help us build more false
positive detection on top.

Signed-off-by: Jeff King <peff@peff•net>
---
 t/test-lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 23eb26bfbe..c9487d0805 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1177,7 +1177,7 @@ check_test_results_san_file_empty_ () {
 	! find "$TEST_RESULTS_SAN_DIR" \
 		-type f \
 		-name "$TEST_RESULTS_SAN_FILE_PFX.*" 2>/dev/null |
-	xargs grep -qv "Unable to get registers from thread"
+	xargs grep -q ^DEDUP_TOKEN
 }
 
 check_test_results_san_file_ () {
-- 
2.48.0.rc1.363.g2bf91ec010


  parent reply	other threads:[~2025-01-01 20:18 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-30 17:33 What's cooking in git.git (Dec 2024, #11; Mon, 30) Junio C Hamano
2024-12-31 17:27 ` René Scharfe
2025-01-03  7:39   ` Patrick Steinhardt
2025-01-01 19:14 ` a less-invasive racy-leak fix, was " Jeff King
2025-01-01 20:12   ` [PATCH 0/6] a less-invasive racy-leak fix Jeff King
2025-01-01 20:12     ` [PATCH 1/6] test-lib: use individual lsan dir for --stress runs Jeff King
2025-01-01 20:12     ` [PATCH 2/6] Revert "index-pack: spawn threads atomically" Jeff King
2025-01-01 20:14     ` [PATCH 3/6] test-lib: rely on logs to detect leaks Jeff King
2025-01-03 12:05       ` Patrick Steinhardt
2025-01-03 20:10         ` Jeff King
2025-01-01 20:17     ` [PATCH 4/6] test-lib: simplify leak-log checking Jeff King
2025-01-03 12:05       ` Patrick Steinhardt
2025-01-03 20:24         ` Jeff King
2025-01-06  7:56           ` Patrick Steinhardt
2025-01-07  7:01             ` Jeff King
2025-01-01 20:18     ` Jeff King [this message]
2025-01-01 20:21     ` [PATCH 6/6] test-lib: ignore leaks in the sanitizer's thread code Jeff King
2025-01-03 12:05       ` Patrick Steinhardt
2025-01-03 20:26         ` Jeff King
2025-01-06  7:56           ` Patrick Steinhardt
2025-01-07  7:04     ` [PATCH 0/3] lsan test-lib readability Jeff King
2025-01-07  7:05       ` [PATCH 1/3] test-lib: invert return value of check_test_results_san_file_empty Jeff King
2025-01-07  7:07       ` [PATCH 2/3] test-lib: simplify lsan results check Jeff King
2025-01-07  7:37         ` Patrick Steinhardt
2025-01-09  7:57           ` Jeff King
2025-01-09 10:00             ` Patrick Steinhardt
2025-01-07 16:23         ` Junio C Hamano
2025-01-09  7:59           ` Jeff King
2025-01-07  7:08       ` [PATCH 3/3] test-lib: add a few comments to LSan log checking Jeff King
2025-01-07  7:37         ` Patrick Steinhardt
2025-01-02  0:25   ` a less-invasive racy-leak fix, was Re: What's cooking in git.git (Dec 2024, #11; Mon, 30) Junio C Hamano
2025-01-02  2:32     ` Jeff King
2025-01-02  2:41       ` Chris Torek
2025-01-02 14:42       ` Junio C Hamano
2025-01-02 19:06         ` Jeff King
2025-01-02 19:33           ` Junio C Hamano
2025-01-02  3:24     ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250101201828.GE3305462@coredump.intra.peff.net \
    --to=peff@peff$(echo .)net \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=ps@pks$(echo .)im \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox