test: add test to ensure we can use non-const lists via check.
[ccan] / ccan / list / test / run-check-nonconst.c
1 #include <ccan/list/list.h>
2 #include <ccan/tap/tap.h>
3 #include <ccan/list/list.c>
4 #include "helper.h"
5
6 struct child {
7         const char *name;
8         struct list_node list;
9 };
10
11 int main(int argc, char *argv[])
12 {
13         struct child c1, c2;
14         struct list_head list = LIST_HEAD_INIT(list);
15
16         plan_tests(1);
17
18         list_add(&list, &c1.list);
19         list_add_tail(list_check(&list, "Bad list!"), &c2.list);
20         list_del_from(list_check(&list, "Bad list!"),
21                       list_check_node(&c2.list, "Bad node!"));
22         list_del_from(list_check(&list, "Bad list!"),
23                       list_check_node(&c1.list, "Bad node!"));
24         ok1(list_empty(list_check(&list, "Bad emptied list")));
25
26         return exit_status();
27 }