X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fcontainer_of%2Ftest%2Frun.c;h=32557295ddec1d471e89873b1534bc4b5d2232b7;hb=c8f5d9df177cb3326c2b27909b9925521490c7b9;hp=8f86bc8da3a4db10eb53c32e9d6ee6590b8b9dcb;hpb=6b0157ffdd333a7e2af9738551df4fbf2eca73db;p=ccan diff --git a/ccan/container_of/test/run.c b/ccan/container_of/test/run.c index 8f86bc8d..32557295 100644 --- a/ccan/container_of/test/run.c +++ b/ccan/container_of/test/run.c @@ -6,19 +6,25 @@ struct foo { char b; }; -int main(int argc, char *argv[]) +int main(void) { struct foo foo = { .a = 1, .b = 2 }; int *intp = &foo.a; char *charp = &foo.b; - plan_tests(6); + plan_tests(12); ok1(container_of(intp, struct foo, a) == &foo); ok1(container_of(charp, struct foo, b) == &foo); + ok1(container_of_or_null(intp, struct foo, a) == &foo); + ok1(container_of_or_null(charp, struct foo, b) == &foo); + ok1(container_of_or_null((int *)NULL, struct foo, a) == NULL); + ok1(container_of_or_null((char *)NULL, struct foo, b) == NULL); ok1(container_of_var(intp, &foo, a) == &foo); ok1(container_of_var(charp, &foo, b) == &foo); - ok1(container_off(intp, struct foo, a) == 0); - ok1(container_off(charp, struct foo, b) == offsetof(struct foo, b)); + ok1(container_off(struct foo, a) == 0); + ok1(container_off(struct foo, b) == offsetof(struct foo, b)); + ok1(container_off_var(&foo, a) == 0); + ok1(container_off_var(&foo, b) == offsetof(struct foo, b)); return exit_status(); }