summaryrefslogtreecommitdiff
path: root/ccan/tal/talloc/test/run-count.c
blob: 9e8a4e76f2c09a8be7b1194fce8026b502405f0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <ccan/tal/talloc/talloc.h>
#include <ccan/tal/talloc/talloc.c>
#include <ccan/tap/tap.h>

int main(void)
{
	char *p1, *p2;

	plan_tests(12);

	p1 = tal(NULL, char);
	ok1(p1);
	ok1(tal_count(p1) == 1);

	p2 = tal_arr(p1, char, 1);
	ok1(p2);
	ok1(tal_count(p2) == 1);
	ok1(tal_resize(&p2, 2));
	ok1(tal_count(p2) == 2);
	ok1(tal_check(NULL, NULL));
	tal_free(p2);

	p2 = tal_arrz(p1, char, 7);
	ok1(p2);
	ok1(tal_count(p2) == 7);
	ok1(tal_resize(&p2, 0));
	ok1(tal_count(p2) == 0);
	ok1(tal_check(NULL, NULL));
	tal_free(p2);
	tal_free(p1);

	return exit_status();
}