1 #include <ccan/tal/talloc/talloc.h>
2 #include <ccan/tal/talloc/talloc.c>
3 #include <ccan/tap/tap.h>
12 /* tal_free(NULL) works. */
13 ok1(tal_free(NULL) == NULL);
15 parent = tal(NULL, char);
17 ok1(tal_parent(parent) == NULL);
18 ok1(tal_parent(NULL) == NULL);
20 for (i = 0; i < 4; i++)
21 c[i] = tal(parent, char);
23 for (i = 0; i < 4; i++)
24 ok1(tal_parent(c[i]) == parent);
27 ok1(tal_free(parent) == NULL);
29 parent = tal(NULL, char);
31 /* Test freeing in every order */
32 for (i = 0; i < 4; i++) {
33 for (j = 0; j < 4; j++)
34 c[j] = tal(parent, char);
37 tal_free(c[(i+1) % 4]);
38 tal_free(c[(i+2) % 4]);
39 tal_free(c[(i+3) % 4]);