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 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel