Lines Matching refs:list

3  * KUnit test for the Kernel Linked-list structures.
10 #include <linux/list.h>
14 struct list_head list;
19 /* Test the different ways of initialising a list. */
49 LIST_HEAD(list);
51 list_add(&a, &list);
52 list_add(&b, &list);
54 /* should be [list] -> b -> a */
55 KUNIT_EXPECT_PTR_EQ(test, list.next, &b);
56 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list);
63 LIST_HEAD(list);
65 list_add_tail(&a, &list);
66 list_add_tail(&b, &list);
68 /* should be [list] -> a -> b */
69 KUNIT_EXPECT_PTR_EQ(test, list.next, &a);
70 KUNIT_EXPECT_PTR_EQ(test, a.prev, &list);
77 LIST_HEAD(list);
79 list_add_tail(&a, &list);
80 list_add_tail(&b, &list);
82 /* before: [list] -> a -> b */
85 /* now: [list] -> b */
86 KUNIT_EXPECT_PTR_EQ(test, list.next, &b);
87 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list);
93 LIST_HEAD(list);
95 list_add_tail(&a_old, &list);
96 list_add_tail(&b, &list);
98 /* before: [list] -> a_old -> b */
101 /* now: [list] -> a_new -> b */
102 KUNIT_EXPECT_PTR_EQ(test, list.next, &a_new);
109 LIST_HEAD(list);
111 list_add_tail(&a_old, &list);
112 list_add_tail(&b, &list);
114 /* before: [list] -> a_old -> b */
117 /* now: [list] -> a_new -> b */
118 KUNIT_EXPECT_PTR_EQ(test, list.next, &a_new);
128 LIST_HEAD(list);
130 list_add_tail(&a, &list);
131 list_add_tail(&b, &list);
133 /* before: [list] -> a -> b */
136 /* after: [list] -> b -> a */
137 KUNIT_EXPECT_PTR_EQ(test, &b, list.next);
138 KUNIT_EXPECT_PTR_EQ(test, &a, list.prev);
141 KUNIT_EXPECT_PTR_EQ(test, &list, b.prev);
143 KUNIT_EXPECT_PTR_EQ(test, &list, a.next);
150 LIST_HEAD(list);
152 list_add_tail(&a, &list);
153 list_add_tail(&b, &list);
155 /* before: [list] -> a -> b */
157 /* after: [list] -> b, a initialised */
159 KUNIT_EXPECT_PTR_EQ(test, list.next, &b);
160 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list);
240 LIST_HEAD(list);
242 list_add_tail(&a, &list);
243 list_add_tail(&b, &list);
245 KUNIT_EXPECT_TRUE(test, list_is_first(&a, &list));
246 KUNIT_EXPECT_FALSE(test, list_is_first(&b, &list));
252 LIST_HEAD(list);
254 list_add_tail(&a, &list);
255 list_add_tail(&b, &list);
257 KUNIT_EXPECT_FALSE(test, list_is_last(&a, &list));
258 KUNIT_EXPECT_TRUE(test, list_is_last(&b, &list));
289 LIST_HEAD(list);
291 list_add_tail(&a, &list);
292 list_add_tail(&b, &list);
294 /* before: [list] -> a -> b */
295 list_rotate_left(&list);
296 /* after: [list] -> b -> a */
298 KUNIT_EXPECT_PTR_EQ(test, list.next, &b);
299 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list);
308 LIST_HEAD(list);
311 list_add_tail(&a, &list);
312 list_add_tail(&b, &list);
313 list_add_tail(&c, &list);
314 list_add_tail(&d, &list);
316 /* before: [list] -> a -> b -> c -> d */
317 list_rotate_to_front(&c, &list);
318 /* after: [list] -> c -> d -> a -> b */
320 list_for_each(ptr, &list) {
330 LIST_HEAD(list);
332 /* [list] empty */
333 KUNIT_EXPECT_FALSE(test, list_is_singular(&list));
335 list_add_tail(&a, &list);
337 /* [list] -> a */
338 KUNIT_EXPECT_TRUE(test, list_is_singular(&list));
340 list_add_tail(&b, &list);
342 /* [list] -> a -> b */
343 KUNIT_EXPECT_FALSE(test, list_is_singular(&list));
510 KUNIT_EXPECT_PTR_EQ(test, &test_struct, list_entry(&(test_struct.list),
511 struct list_test_struct, list));
517 LIST_HEAD(list);
519 list_add_tail(&test_struct1.list, &list);
520 list_add_tail(&test_struct2.list, &list);
523 KUNIT_EXPECT_PTR_EQ(test, &test_struct1, list_first_entry(&list,
524 struct list_test_struct, list));
530 LIST_HEAD(list);
532 list_add_tail(&test_struct1.list, &list);
533 list_add_tail(&test_struct2.list, &list);
536 KUNIT_EXPECT_PTR_EQ(test, &test_struct2, list_last_entry(&list,
537 struct list_test_struct, list));
543 LIST_HEAD(list);
545 KUNIT_EXPECT_FALSE(test, list_first_entry_or_null(&list,
546 struct list_test_struct, list));
548 list_add_tail(&test_struct1.list, &list);
549 list_add_tail(&test_struct2.list, &list);
552 list_first_entry_or_null(&list,
553 struct list_test_struct, list));
559 LIST_HEAD(list);
561 list_add_tail(&test_struct1.list, &list);
562 list_add_tail(&test_struct2.list, &list);
566 list));
572 LIST_HEAD(list);
574 list_add_tail(&test_struct1.list, &list);
575 list_add_tail(&test_struct2.list, &list);
579 list));
585 LIST_HEAD(list);
588 list_add_tail(&entries[0], &list);
589 list_add_tail(&entries[1], &list);
590 list_add_tail(&entries[2], &list);
592 list_for_each(cur, &list) {
603 LIST_HEAD(list);
606 list_add_tail(&entries[0], &list);
607 list_add_tail(&entries[1], &list);
608 list_add_tail(&entries[2], &list);
610 list_for_each_prev(cur, &list) {
621 LIST_HEAD(list);
625 list_add_tail(&entries[0], &list);
626 list_add_tail(&entries[1], &list);
627 list_add_tail(&entries[2], &list);
629 list_for_each_safe(cur, n, &list) {
636 KUNIT_EXPECT_TRUE(test, list_empty(&list));
642 LIST_HEAD(list);
645 list_add_tail(&entries[0], &list);
646 list_add_tail(&entries[1], &list);
647 list_add_tail(&entries[2], &list);
649 list_for_each_prev_safe(cur, n, &list) {
656 KUNIT_EXPECT_TRUE(test, list_empty(&list));
662 LIST_HEAD(list);
667 list_add_tail(&entries[i].list, &list);
672 list_for_each_entry(cur, &list, list) {
683 LIST_HEAD(list);
688 list_add_tail(&entries[i].list, &list);
693 list_for_each_entry_reverse(cur, &list, list) {
742 .name = "list-kunit-test",