summaryrefslogtreecommitdiffstats
path: root/lib/ccan/array_size/test/run.c
blob: 37b4200b44f363340616da82e20ce2df44388d25 (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/array_size/array_size.h>
#include <ccan/tap/tap.h>

static char array1[1];
static int array2[2];
static unsigned long array3[3][5];
struct foo {
	unsigned int a, b;
	char string[100];
};
static struct foo array4[4];

/* Make sure they can be used in initializers. */
static int array1_size = ARRAY_SIZE(array1);
static int array2_size = ARRAY_SIZE(array2);
static int array3_size = ARRAY_SIZE(array3);
static int array4_size = ARRAY_SIZE(array4);

int main(int argc, char *argv[])
{
	plan_tests(8);
	ok1(array1_size == 1);
	ok1(array2_size == 2);
	ok1(array3_size == 3);
	ok1(array4_size == 4);

	ok1(ARRAY_SIZE(array1) == 1);
	ok1(ARRAY_SIZE(array2) == 2);
	ok1(ARRAY_SIZE(array3) == 3);
	ok1(ARRAY_SIZE(array4) == 4);

	return exit_status();
}