Re: Re* [PATCH v8 2/2] tests: add a test mode for SANITIZE=leak, run it in CI
From: Junio C Hamano <hidden>
Date: 2021-11-03 23:57:49
Junio C Hamano [off-list ref] writes:
Ævar Arnfjörð Bjarmason [off-list ref] writes:quoted
The CI target uses a new GIT_TEST_PASSING_SANITIZE_LEAK=true test mode. When running in that mode, we'll assert that we were compiled with SANITIZE=leak. We'll then skip all tests, except those that we've opted-in by setting "TEST_PASSES_SANITIZE_LEAK=true". ... This is how tests that don't set "TEST_PASSES_SANITIZE_LEAK=true" will be skipped under GIT_TEST_PASSING_SANITIZE_LEAK=true:I've been playing with this locally, but cannot shake the nagging feeling that GIT_TEST_PASSING_SANITIZE_LEAK must default to true. Otherwise, it is one more thing they need to find out and set when they do make SANITYZE=leak test because they want to be a good developer and to ensure that they did not introduce new leaks. If we want to encourage folks to locally run the leak checks before declaring their own work "done", that is. Those who are hunting for and cleaning up existing leaks can and should set it to false, no?
Another thing while I am at it, I have a feeling that the polarity of the TEST_PASSES_SANITIZE_LEAK declaration is the other way around. Marking the tests that do not yet pass the leak check with a special annotation will make it easier to find not-yet-clean tests for those who have too much time on their hands ;-) to find ones that are affected by the leaky tests.