X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftlist%2Ftest%2Frun.c;h=739c85f05281acf14cb79781bf5b9c27699a6fa3;hb=7d1f0c73e4d321561abb74f82c8be97f10d69836;hp=f94438eaf69551bc117754143d554ee9246ca326;hpb=a6b5111fe6948e51114c33aa34785c9fd0d403e6;p=ccan diff --git a/ccan/tlist/test/run.c b/ccan/tlist/test/run.c index f94438ea..739c85f0 100644 --- a/ccan/tlist/test/run.c +++ b/ccan/tlist/test/run.c @@ -6,8 +6,8 @@ TLIST_TYPE(children, struct child); struct parent { const char *name; - struct tlist_children children; unsigned int num_children; + struct tlist_children children; }; struct child { @@ -22,7 +22,7 @@ int main(int argc, char *argv[]) unsigned int i; struct tlist_children tlist = TLIST_INIT(tlist); - plan_tests(48); + plan_tests(60); /* Test TLIST_INIT, and tlist_empty */ ok1(tlist_empty(&tlist)); ok1(tlist_check(&tlist, NULL)); @@ -37,10 +37,12 @@ int main(int argc, char *argv[]) tlist_add(&parent.children, &c2, list); /* Test tlist_add and !tlist_empty. */ ok1(!tlist_empty(&parent.children)); - ok1(c2.list.next == &parent.children.raw.n); - ok1(c2.list.prev == &parent.children.raw.n); - ok1(parent.children.raw.n.next == &c2.list); - ok1(parent.children.raw.n.prev == &c2.list); + ok1(c2.list.next == &tcon_unwrap(&parent.children)->n); + ok1(c2.list.prev == &tcon_unwrap(&parent.children)->n); + ok1(tcon_unwrap(&parent.children)->n.next == &c2.list); + ok1(tcon_unwrap(&parent.children)->n.prev == &c2.list); + ok1(tlist_next(&parent.children, &c2, list) == NULL); + ok1(tlist_prev(&parent.children, &c2, list) == NULL); /* Test tlist_check */ ok1(tlist_check(&parent.children, NULL)); @@ -48,12 +50,16 @@ int main(int argc, char *argv[]) tlist_add(&parent.children, &c1, list); /* Test list_add and !list_empty. */ ok1(!tlist_empty(&parent.children)); - ok1(c2.list.next == &parent.children.raw.n); + ok1(c2.list.next == &tcon_unwrap(&parent.children)->n); ok1(c2.list.prev == &c1.list); - ok1(parent.children.raw.n.next == &c1.list); - ok1(parent.children.raw.n.prev == &c2.list); + ok1(tcon_unwrap(&parent.children)->n.next == &c1.list); + ok1(tcon_unwrap(&parent.children)->n.prev == &c2.list); ok1(c1.list.next == &c2.list); - ok1(c1.list.prev == &parent.children.raw.n); + ok1(c1.list.prev == &tcon_unwrap(&parent.children)->n); + ok1(tlist_next(&parent.children, &c1, list) == &c2); + ok1(tlist_next(&parent.children, &c2, list) == NULL); + ok1(tlist_prev(&parent.children, &c2, list) == &c1); + ok1(tlist_prev(&parent.children, &c1, list) == NULL); /* Test tlist_check */ ok1(tlist_check(&parent.children, NULL)); @@ -61,14 +67,20 @@ int main(int argc, char *argv[]) tlist_add_tail(&parent.children, &c3, list); /* Test list_add_tail and !list_empty. */ ok1(!tlist_empty(&parent.children)); - ok1(parent.children.raw.n.next == &c1.list); - ok1(parent.children.raw.n.prev == &c3.list); + ok1(tcon_unwrap(&parent.children)->n.next == &c1.list); + ok1(tcon_unwrap(&parent.children)->n.prev == &c3.list); ok1(c1.list.next == &c2.list); - ok1(c1.list.prev == &parent.children.raw.n); + ok1(c1.list.prev == &tcon_unwrap(&parent.children)->n); ok1(c2.list.next == &c3.list); ok1(c2.list.prev == &c1.list); - ok1(c3.list.next == &parent.children.raw.n); + ok1(c3.list.next == &tcon_unwrap(&parent.children)->n); ok1(c3.list.prev == &c2.list); + ok1(tlist_next(&parent.children, &c1, list) == &c2); + ok1(tlist_next(&parent.children, &c2, list) == &c3); + ok1(tlist_next(&parent.children, &c3, list) == NULL); + ok1(tlist_prev(&parent.children, &c3, list) == &c2); + ok1(tlist_prev(&parent.children, &c2, list) == &c1); + ok1(tlist_prev(&parent.children, &c1, list) == NULL); /* Test tlist_check */ ok1(tlist_check(&parent.children, NULL));