tests: add possibility to disable leak check for single test

In tests that are using external libraries (i. e. pthread) we
can get failure because of leaks in the external library.
Until we have some better solution (if ever), let these (and only these)
tests to disable leak checks.

Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
Marek Chalupa 2014-12-19 14:53:06 +01:00 committed by Daniel Stone
parent 5c70c03190
commit 68c11c48c0
3 changed files with 21 additions and 0 deletions

View File

@ -81,6 +81,19 @@ FAIL_TEST(sanity_malloc_direct)
free(NULL); /* NULL must not be counted */ free(NULL); /* NULL must not be counted */
} }
TEST(disable_leak_checks)
{
volatile void *mem;
assert(leak_check_enabled);
/* normally this should be on the beginning of the test.
* Here we need to be sure, that the leak checks are
* turned on */
DISABLE_LEAK_CHECKS;
mem = malloc(16);
assert(mem);
}
FAIL_TEST(sanity_malloc_indirect) FAIL_TEST(sanity_malloc_indirect)
{ {
struct wl_array array; struct wl_array array;

View File

@ -175,6 +175,8 @@ check_leaks(int supposed_alloc, int supposed_fds)
num_fds - supposed_fds); num_fds - supposed_fds);
abort(); abort();
} }
} else {
fprintf(stderr, "Leak checks disabled\n");
} }
} }

View File

@ -62,4 +62,10 @@ test_usleep(useconds_t);
void void
test_sleep(unsigned int); test_sleep(unsigned int);
#define DISABLE_LEAK_CHECKS \
do { \
extern int leak_check_enabled; \
leak_check_enabled = 0; \
} while (0);
#endif #endif