1 #include <ccan/tal/tal.h>
2 #include <ccan/tal/tal.c>
3 #include <ccan/tap/tap.h>
7 char *parent, *c[4], *p;
12 parent = tal(NULL, char);
14 ok1(tal_parent(parent) == NULL);
15 ok1(tal_parent(NULL) == NULL);
17 for (i = 0; i < 4; i++)
18 c[i] = tal(parent, char);
20 for (i = 0; i < 4; i++)
21 ok1(tal_parent(c[i]) == parent);
25 for (p = tal_first(parent); p; p = tal_next(parent, p)) {
38 parent = tal(NULL, char);
40 /* Test freeing in every order */
41 for (i = 0; i < 4; i++) {
42 for (j = 0; j < 4; j++)
43 c[j] = tal(parent, char);
46 debug_tal(to_tal_hdr(parent));
47 tal_free(c[(i+1) % 4]);
48 debug_tal(to_tal_hdr(parent));
49 tal_free(c[(i+2) % 4]);
50 debug_tal(to_tal_hdr(parent));
51 tal_free(c[(i+3) % 4]);
52 debug_tal(to_tal_hdr(parent));