summaryrefslogtreecommitdiff
path: root/tests/leak_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/leak_test.c')
-rw-r--r--tests/leak_test.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/leak_test.c b/tests/leak_test.c
new file mode 100644
index 0000000..421d0c6
--- /dev/null
+++ b/tests/leak_test.c
@@ -0,0 +1,21 @@
+#include "leak_detector.h"
+
+main() {
+ int *p[10];
+ int i;
+ GC_find_leak = 1; /* for new collect versions not compiled */
+ /* with -DFIND_LEAK. */
+ for (i = 0; i < 10; ++i) {
+ p[i] = malloc(sizeof(int)+i);
+ }
+ CHECK_LEAKS();
+ for (i = 1; i < 10; ++i) {
+ free(p[i]);
+ }
+ for (i = 0; i < 9; ++i) {
+ p[i] = malloc(sizeof(int)+i);
+ }
+ CHECK_LEAKS();
+ CHECK_LEAKS();
+ CHECK_LEAKS();
+}