X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Flist%2Ftest%2Frun.c;h=88c3835b4070b63949f002c44a4416bdef9cada0;hp=dad308282f7c14aa77bb2ecd54277770618b0ed5;hb=ec8654d94d3c5c47aa5f82698f7e8048c79765b1;hpb=a7b28fafda0e5c119a2507ef2fd0d5b620cdb892 diff --git a/ccan/list/test/run.c b/ccan/list/test/run.c index dad30828..88c3835b 100644 --- a/ccan/list/test/run.c +++ b/ccan/list/test/run.c @@ -25,7 +25,7 @@ int main(int argc, char *argv[]) opaque_t *q, *nq; struct list_head opaque_list = LIST_HEAD_INIT(opaque_list); - plan_tests(68); + plan_tests(70); /* Test LIST_HEAD, LIST_HEAD_INIT, list_empty and check_list */ ok1(list_empty(&static_list)); ok1(list_check(&static_list, NULL)); @@ -155,6 +155,19 @@ int main(int argc, char *argv[]) ok1(i == 3); ok1(list_empty(&parent.children)); + /* Test list_node_init: safe to list_del after this. */ + list_node_init(&c->list); + list_del(&c->list); + + /* Test list_del_init */ + list_add(&parent.children, &c->list); + ok1(!list_empty(&parent.children)); + list_del_init(&c->list); + ok1(list_empty(&parent.children)); + /* We can call this as many times as we like. */ + list_del_init(&c->list); + list_del_init(&c->list); + /* Test list_for_each_off. */ list_add_tail(&opaque_list, (struct list_node *)create_opaque_blob());