aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test-runner.c
diff options
context:
space:
mode:
authorMarek Ch <mchqwerty@gmail.com>2013-09-18 17:29:48 +0200
committerKristian Høgsberg <krh@bitplanet.net>2013-09-21 11:36:33 -0700
commitec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0 (patch)
tree0cbc1882d4f0e788d8009e9b290e792cbfc5e839 /tests/test-runner.c
parentclient: fix an inconsistency in documentation (diff)
downloadwayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar.gz
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar.bz2
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar.lz
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar.xz
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.tar.zst
wayland-ec08c5c3e99d0167fcd2d7f808ed62a833f5e5d0.zip
tests: extended message when leak in test is detected
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.
Diffstat (limited to 'tests/test-runner.c')
-rw-r--r--tests/test-runner.c17
1 files 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);
}