Skip to content

Commit 5fabf6e

Browse files
peffgitster
authored andcommitted
test-lib: show leak-sanitizer logs on --immediate failure
When we've compiled with SANITIZE=leak, at the end of the test script we'll dump any collected logs to stdout. These logs have two uses: 1. Leaks don't always cause a test snippet to fail (e.g., if they happen in a sub-process that we expect to return non-zero). Checking the logs catches these cases that we'd otherwise miss entirely. 2. LSan will dump the leak info to stderr, but that is sometimes hidden (e.g., because it's redirected by the test, or because it's in a sub-process whose stderr goes elsewhere). Dumping the logs is the easiest way for the developer to see them. One downside is that the set of logs for an entire script may be very long, especially when you're trying to fix existing test scripts. You can run with --immediate to stop at the first failing test, which means we'll have accrued fewer logs. But we don't show the logs in that case! Let's start doing so. This can only help case (2), of course (since it depends on test failure). And it's somewhat weakened by the fact that any cases of (1) will pollute the logs. But we can improve things further in the next patch. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 95c679a commit 5fabf6e

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

t/test-lib.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,7 @@ test_failure_ () {
847847
GIT_EXIT_OK=t
848848
exit 0
849849
fi
850+
check_test_results_san_file_ "$test_failure"
850851
_error_exit
851852
fi
852853
finalize_test_case_output failure "$failure_label" "$@"

0 commit comments

Comments
 (0)