[PATCH 1/3] tests: extended message when leak in test is detected
Marek Ch
mchqwerty at gmail.com
Wed Sep 18 08:29:48 PDT 2013
When memory or fd leak is detected, print how many blocks of memory were
allocated and not freed, respectively how many files were opened/unclosed.
---
tests/test-runner.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/tests/test-runner.c b/tests/test-runner.c
index 9c6865a..8f3d5d3 100644
--- a/tests/test-runner.c
+++ b/tests/test-runner.c
@@ -111,13 +111,24 @@ static void
run_test(const struct test *t)
{
int cur_alloc = num_alloc;
- int cur_fds;
+ int cur_fds, num_fds;
cur_fds = count_open_fds();
t->run();
if (leak_check_enabled) {
- assert(cur_alloc == num_alloc && "memory leak detected in test.");
- assert(cur_fds == count_open_fds() && "fd leak detected");
+ if (cur_alloc != num_alloc) {
+ fprintf(stderr, "Memory leak detected in test. "
+ "Allocated %d blocks, unfreed %d\n", num_alloc,
+ num_alloc - cur_alloc);
+ abort();
+ }
+ num_fds = count_open_fds();
+ if (cur_fds != num_fds) {
+ fprintf(stderr, "fd leak detected in test. "
+ "Opened %d files, unclosed %d\n", num_fds,
+ num_fds - cur_fds);
+ abort();
+ }
}
exit(EXIT_SUCCESS);
}
--
1.8.3.1
More information about the wayland-devel
mailing list