diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-01-21 08:44:52 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-01-21 08:44:52 -0800 |
| commit | 5a59d1e1a004d1a449b5f490efa7918d2c3df812 (patch) | |
| tree | 6cb76bd0c2c311237d2901dda4d4d4cc04e90c80 | |
| parent | efff4a85a4fce58b2aa850c6fbf4d8828329f51d (diff) | |
| parent | 164a2516eb622fdf032ce526ec97e79a53bf2893 (diff) | |
| download | git-5a59d1e1a004d1a449b5f490efa7918d2c3df812.tar.gz | |
Merge branch 'jk/lsan-race-ignore-false-positive'
The code to check LSan results has been simplified and made more
robust.
* jk/lsan-race-ignore-false-positive:
test-lib: add a few comments to LSan log checking
test-lib: simplify lsan results check
test-lib: invert return value of check_test_results_san_file_empty
| -rw-r--r-- | t/test-lib-functions.sh | 2 | ||||
| -rw-r--r-- | t/test-lib.sh | 20 |
2 files changed, 11 insertions, 11 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index 78e054ab50..c25cee0ad8 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -927,7 +927,7 @@ test_expect_success () { test -n "$test_skip_test_preamble" || say >&3 "expecting success of $TEST_NUMBER.$test_count '$1': $test_body" if test_run_ "$test_body" && - check_test_results_san_file_empty_ + ! check_test_results_san_file_has_entries_ then test_ok_ "$1" else diff --git a/t/test-lib.sh b/t/test-lib.sh index d1f62adbf8..9f27a49995 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1169,20 +1169,20 @@ test_atexit_handler () { teardown_malloc_check } -check_test_results_san_file_empty_ () { - test -z "$TEST_RESULTS_SAN_FILE" && return 0 - - # stderr piped to /dev/null because the directory may have - # been "rmdir"'d already. - ! find "$TEST_RESULTS_SAN_DIR" \ - -type f \ - -name "$TEST_RESULTS_SAN_FILE_PFX.*" 2>/dev/null | - xargs grep ^DEDUP_TOKEN | +check_test_results_san_file_has_entries_ () { + test -z "$TEST_RESULTS_SAN_FILE" && return 1 + + # Lines marked with DEDUP_TOKEN show unique leaks. We only care that we + # found at least one. + # + # But also suppress any false positives caused by bugs or races in the + # sanitizer itself. + grep -s ^DEDUP_TOKEN "$TEST_RESULTS_SAN_FILE".* | grep -qv sanitizer::GetThreadStackTopAndBottom } check_test_results_san_file_ () { - if check_test_results_san_file_empty_ + if ! check_test_results_san_file_has_entries_ then return fi && |
