mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-12-29 17:44:49 +00:00
This contains the various changes necessary to get the full unit test suite passing Valgrind, and configures CI to run this. I disabled relatively few (less than 10) tests under Valgrind because they're way too slow: all `verifyIntegrity` tests, because those run anyways in debug and check their own memory health, a font test that fills out font map, and the sprite render test. Everything else runs as-is. I found a number of issues, most were in the tests themselves. A couple in actual code. A funny one was some undefined memory on tabstop resize if you exceed the default number of tabstops. I don't know any real world program that ever even did that (memory issue aside), and that whole file hasn't been touched since 2022, so that was funny. No memory leaks in actual code, but a number of leaks in tests. All resolved. I think we're still missing some reports because of the Zig bug: https://github.com/ziglang/zig/issues/19148 so I'm gong to audit our codebase after this and look for cases of that.