diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2022-02-06 19:18:31 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2022-02-06 19:18:31 +0300 |
commit | 8979d779cf2b1155b4804aa87ba3199f2ebbc49d (patch) | |
tree | 6f8a29e2abb8e48210b50876ef5dacf1b8902e26 /tests | |
parent | 86278a3d4e0669075dab0ea3f27abd8641189fc8 (diff) | |
download | bdwgc-8979d779cf2b1155b4804aa87ba3199f2ebbc49d.tar.gz |
Increase number of iterations in leak and middle tests
* tests/leak_test.c (N_TESTS): Define macro (to 100).
* tests/thread_leak_test.c (N_TESTS): Likewise.
* tests/leak_test.c (main): Replace 10 to N_TESTS; replace 9 to
N_TESTS/2.
* tests/thread_leak_test.c (main): Likewise.
* tests/middle.c (N_TESTS): Define macro (to 40000).
* tests/middle.c (ALLOC_SZ): Define macro.
* tests/middle.c (main): Replace 20000 to N_TESTS; replace 4096 and
2048 to ALLOC_SZ and ALLOC_SZ/2, respectively.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/leak_test.c | 10 | ||||
-rw-r--r-- | tests/middle.c | 15 | ||||
-rw-r--r-- | tests/thread_leak_test.c | 8 |
3 files changed, 20 insertions, 13 deletions
diff --git a/tests/leak_test.c b/tests/leak_test.c index d745be1b..b54b3227 100644 --- a/tests/leak_test.c +++ b/tests/leak_test.c @@ -3,22 +3,24 @@ #include "gc/leak_detector.h" +#define N_TESTS 100 + int main(void) { - char *p[10]; + char *p[N_TESTS]; int i; GC_set_find_leak(1); /* for new collect versions not compiled */ /* with -DFIND_LEAK. */ GC_INIT(); /* Needed if thread-local allocation is enabled. */ /* FIXME: This is not ideal. */ - for (i = 0; i < 10; ++i) { + for (i = 0; i < N_TESTS; ++i) { p[i] = (char*)malloc(sizeof(int)+i); } CHECK_LEAKS(); - for (i = 1; i < 10; ++i) { + for (i = 1; i < N_TESTS; ++i) { free(p[i]); } - for (i = 0; i < 9; ++i) { + for (i = 0; i < N_TESTS / 2; ++i) { p[i] = (char*)malloc(sizeof(int)+i); } CHECK_LEAKS(); diff --git a/tests/middle.c b/tests/middle.c index 9a7cc3d0..67c974ae 100644 --- a/tests/middle.c +++ b/tests/middle.c @@ -5,6 +5,9 @@ #include "gc.h" #include <stdio.h> +#define N_TESTS 40000 +#define ALLOC_SZ 4096 /* typical page size */ + int main (void) { int i; @@ -14,13 +17,13 @@ int main (void) if (GC_get_find_leak()) printf("This test program is not designed for leak detection mode\n"); - for (i = 0; i < 20000; ++i) { - (void)GC_malloc_atomic(4096); - (void)GC_malloc(4096); + for (i = 0; i < N_TESTS; ++i) { + (void)GC_malloc_atomic(ALLOC_SZ); + (void)GC_malloc(ALLOC_SZ); } - for (i = 0; i < 20000; ++i) { - (void)GC_malloc_atomic(2048); - (void)GC_malloc(2048); + for (i = 0; i < N_TESTS; ++i) { + (void)GC_malloc_atomic(ALLOC_SZ/2); + (void)GC_malloc(ALLOC_SZ/2); } printf("Final heap size is %lu\n", (unsigned long)GC_get_heap_size()); return 0; diff --git a/tests/thread_leak_test.c b/tests/thread_leak_test.c index 00f1bfeb..33801c99 100644 --- a/tests/thread_leak_test.c +++ b/tests/thread_leak_test.c @@ -24,19 +24,21 @@ #include <stdio.h> +#define N_TESTS 100 + #ifdef GC_PTHREADS void * test(void * arg) #else DWORD WINAPI test(LPVOID arg) #endif { - int *p[10]; + int *p[N_TESTS]; int i; - for (i = 0; i < 10; ++i) { + for (i = 0; i < N_TESTS; ++i) { p[i] = (int *)malloc(sizeof(int) + i); } CHECK_LEAKS(); - for (i = 1; i < 10; ++i) { + for (i = 1; i < N_TESTS; ++i) { free(p[i]); } # ifdef GC_PTHREADS |