mbox series

[0/3] LSan quality of life improvements

Message ID 20240924213404.GA1142219@coredump.intra.peff.net (mailing list archive)
Headers show
Series LSan quality of life improvements | expand

Message

Jeff King Sept. 24, 2024, 9:34 p.m. UTC
I was fixing some leaks the other day and came up with a few changes
that made the process a bit less painful, especially when the leaks are
hidden in sub-processes (which is most of them when you are digging into
http push/fetch, as I was).

I hope we're not too far off from a world where leaks are something that
pop up in your newly written code, and you're not slogging through
existing test scripts. But until then, I hope these might help others.

If you want to see the before/after, try:

  cd t
  ./t5550-http-fetch-dumb.sh -i

before and after this series. Before you get no leaks reported to stdout
with "-i", and way too many without it. After, you get the leaks for the
first test that generates them.

  [1/3]: test-lib: stop showing old leak logs
  [2/3]: test-lib: show leak-sanitizer logs on --immediate failure
  [3/3]: test-lib: check for leak logs after every test

 t/test-lib-functions.sh |  3 ++-
 t/test-lib.sh           | 41 ++++++-----------------------------------
 2 files changed, 8 insertions(+), 36 deletions(-)

-Peff

Comments

Patrick Steinhardt Sept. 26, 2024, 2:19 p.m. UTC | #1
On Tue, Sep 24, 2024 at 05:34:04PM -0400, Jeff King wrote:
> I was fixing some leaks the other day and came up with a few changes
> that made the process a bit less painful, especially when the leaks are
> hidden in sub-processes (which is most of them when you are digging into
> http push/fetch, as I was).
> 
> I hope we're not too far off from a world where leaks are something that
> pop up in your newly written code, and you're not slogging through
> existing test scripts. But until then, I hope these might help others.
> 
> If you want to see the before/after, try:
> 
>   cd t
>   ./t5550-http-fetch-dumb.sh -i
> 
> before and after this series. Before you get no leaks reported to stdout
> with "-i", and way too many without it. After, you get the leaks for the
> first test that generates them.
> 
>   [1/3]: test-lib: stop showing old leak logs
>   [2/3]: test-lib: show leak-sanitizer logs on --immediate failure
>   [3/3]: test-lib: check for leak logs after every test

Thanks, all of these look like strict improvements to me! Now I wish
that I had all of these changes earlier, as that would have made my
leak-fixing sessions way more enjoyable.

Patrick