Lines Matching full:test

3  * KUnit test for the Kernel Linked-list structures.
8 #include <kunit/test.h>
18 static void list_test_list_init(struct kunit *test) in list_test_list_init() argument
20 /* Test the different ways of initialising a list. */ in list_test_list_init()
37 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list1)); in list_test_list_init()
38 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list2)); in list_test_list_init()
39 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list3)); in list_test_list_init()
40 KUNIT_EXPECT_TRUE(test, list_empty_careful(list4)); in list_test_list_init()
41 KUNIT_EXPECT_TRUE(test, list_empty_careful(list5)); in list_test_list_init()
47 static void list_test_list_add(struct kunit *test) in list_test_list_add() argument
56 KUNIT_EXPECT_PTR_EQ(test, list.next, &b); in list_test_list_add()
57 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list); in list_test_list_add()
58 KUNIT_EXPECT_PTR_EQ(test, b.next, &a); in list_test_list_add()
61 static void list_test_list_add_tail(struct kunit *test) in list_test_list_add_tail() argument
70 KUNIT_EXPECT_PTR_EQ(test, list.next, &a); in list_test_list_add_tail()
71 KUNIT_EXPECT_PTR_EQ(test, a.prev, &list); in list_test_list_add_tail()
72 KUNIT_EXPECT_PTR_EQ(test, a.next, &b); in list_test_list_add_tail()
75 static void list_test_list_del(struct kunit *test) in list_test_list_del() argument
87 KUNIT_EXPECT_PTR_EQ(test, list.next, &b); in list_test_list_del()
88 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list); in list_test_list_del()
91 static void list_test_list_replace(struct kunit *test) in list_test_list_replace() argument
103 KUNIT_EXPECT_PTR_EQ(test, list.next, &a_new); in list_test_list_replace()
104 KUNIT_EXPECT_PTR_EQ(test, b.prev, &a_new); in list_test_list_replace()
105 KUNIT_EXPECT_PTR_EQ(test, a_new.next, &b); in list_test_list_replace()
106 KUNIT_EXPECT_PTR_EQ(test, a_new.prev, &list); in list_test_list_replace()
109 static void list_test_list_replace_init(struct kunit *test) in list_test_list_replace_init() argument
121 KUNIT_EXPECT_PTR_EQ(test, list.next, &a_new); in list_test_list_replace_init()
122 KUNIT_EXPECT_PTR_EQ(test, b.prev, &a_new); in list_test_list_replace_init()
123 KUNIT_EXPECT_PTR_EQ(test, a_new.next, &b); in list_test_list_replace_init()
124 KUNIT_EXPECT_PTR_EQ(test, a_new.prev, &list); in list_test_list_replace_init()
127 KUNIT_EXPECT_TRUE(test, list_empty_careful(&a_old)); in list_test_list_replace_init()
130 static void list_test_list_swap(struct kunit *test) in list_test_list_swap() argument
142 KUNIT_EXPECT_PTR_EQ(test, &b, list.next); in list_test_list_swap()
143 KUNIT_EXPECT_PTR_EQ(test, &a, list.prev); in list_test_list_swap()
145 KUNIT_EXPECT_PTR_EQ(test, &a, b.next); in list_test_list_swap()
146 KUNIT_EXPECT_PTR_EQ(test, &list, b.prev); in list_test_list_swap()
148 KUNIT_EXPECT_PTR_EQ(test, &list, a.next); in list_test_list_swap()
149 KUNIT_EXPECT_PTR_EQ(test, &b, a.prev); in list_test_list_swap()
152 static void list_test_list_del_init(struct kunit *test) in list_test_list_del_init() argument
164 KUNIT_EXPECT_PTR_EQ(test, list.next, &b); in list_test_list_del_init()
165 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list); in list_test_list_del_init()
166 KUNIT_EXPECT_TRUE(test, list_empty_careful(&a)); in list_test_list_del_init()
169 static void list_test_list_del_init_careful(struct kunit *test) in list_test_list_del_init_careful() argument
171 /* NOTE: This test only checks the behaviour of this function in in list_test_list_del_init_careful()
184 KUNIT_EXPECT_PTR_EQ(test, list.next, &b); in list_test_list_del_init_careful()
185 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list); in list_test_list_del_init_careful()
186 KUNIT_EXPECT_TRUE(test, list_empty_careful(&a)); in list_test_list_del_init_careful()
189 static void list_test_list_move(struct kunit *test) in list_test_list_move() argument
202 KUNIT_EXPECT_TRUE(test, list_empty(&list1)); in list_test_list_move()
204 KUNIT_EXPECT_PTR_EQ(test, &a, list2.next); in list_test_list_move()
205 KUNIT_EXPECT_PTR_EQ(test, &b, a.next); in list_test_list_move()
208 static void list_test_list_move_tail(struct kunit *test) in list_test_list_move_tail() argument
221 KUNIT_EXPECT_TRUE(test, list_empty(&list1)); in list_test_list_move_tail()
223 KUNIT_EXPECT_PTR_EQ(test, &b, list2.next); in list_test_list_move_tail()
224 KUNIT_EXPECT_PTR_EQ(test, &a, b.next); in list_test_list_move_tail()
227 static void list_test_list_bulk_move_tail(struct kunit *test) in list_test_list_bulk_move_tail() argument
250 KUNIT_EXPECT_PTR_EQ(test, ptr, list1_values[i]); in list_test_list_bulk_move_tail()
253 KUNIT_EXPECT_EQ(test, i, 4); in list_test_list_bulk_move_tail()
256 KUNIT_EXPECT_PTR_EQ(test, ptr, list2_values[i]); in list_test_list_bulk_move_tail()
259 KUNIT_EXPECT_EQ(test, i, 2); in list_test_list_bulk_move_tail()
262 static void list_test_list_is_head(struct kunit *test) in list_test_list_is_head() argument
271 KUNIT_EXPECT_TRUE_MSG(test, list_is_head(&a, &a), in list_test_list_is_head()
273 KUNIT_EXPECT_FALSE_MSG(test, list_is_head(&a, &b), in list_test_list_is_head()
275 KUNIT_EXPECT_FALSE_MSG(test, list_is_head(&a, &c), in list_test_list_is_head()
280 static void list_test_list_is_first(struct kunit *test) in list_test_list_is_first() argument
288 KUNIT_EXPECT_TRUE(test, list_is_first(&a, &list)); in list_test_list_is_first()
289 KUNIT_EXPECT_FALSE(test, list_is_first(&b, &list)); in list_test_list_is_first()
292 static void list_test_list_is_last(struct kunit *test) in list_test_list_is_last() argument
300 KUNIT_EXPECT_FALSE(test, list_is_last(&a, &list)); in list_test_list_is_last()
301 KUNIT_EXPECT_TRUE(test, list_is_last(&b, &list)); in list_test_list_is_last()
304 static void list_test_list_empty(struct kunit *test) in list_test_list_empty() argument
312 KUNIT_EXPECT_FALSE(test, list_empty(&list1)); in list_test_list_empty()
313 KUNIT_EXPECT_TRUE(test, list_empty(&list2)); in list_test_list_empty()
316 static void list_test_list_empty_careful(struct kunit *test) in list_test_list_empty_careful() argument
318 /* This test doesn't check correctness under concurrent access */ in list_test_list_empty_careful()
325 KUNIT_EXPECT_FALSE(test, list_empty_careful(&list1)); in list_test_list_empty_careful()
326 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list2)); in list_test_list_empty_careful()
329 static void list_test_list_rotate_left(struct kunit *test) in list_test_list_rotate_left() argument
341 KUNIT_EXPECT_PTR_EQ(test, list.next, &b); in list_test_list_rotate_left()
342 KUNIT_EXPECT_PTR_EQ(test, b.prev, &list); in list_test_list_rotate_left()
343 KUNIT_EXPECT_PTR_EQ(test, b.next, &a); in list_test_list_rotate_left()
346 static void list_test_list_rotate_to_front(struct kunit *test) in list_test_list_rotate_to_front() argument
364 KUNIT_EXPECT_PTR_EQ(test, ptr, list_values[i]); in list_test_list_rotate_to_front()
367 KUNIT_EXPECT_EQ(test, i, 4); in list_test_list_rotate_to_front()
370 static void list_test_list_is_singular(struct kunit *test) in list_test_list_is_singular() argument
376 KUNIT_EXPECT_FALSE(test, list_is_singular(&list)); in list_test_list_is_singular()
381 KUNIT_EXPECT_TRUE(test, list_is_singular(&list)); in list_test_list_is_singular()
386 KUNIT_EXPECT_FALSE(test, list_is_singular(&list)); in list_test_list_is_singular()
389 static void list_test_list_cut_position(struct kunit *test) in list_test_list_cut_position() argument
405 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_cut_position()
409 KUNIT_EXPECT_EQ(test, i, 2); in list_test_list_cut_position()
412 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_cut_position()
416 KUNIT_EXPECT_EQ(test, i, 3); in list_test_list_cut_position()
419 static void list_test_list_cut_before(struct kunit *test) in list_test_list_cut_before() argument
435 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_cut_before()
439 KUNIT_EXPECT_EQ(test, i, 1); in list_test_list_cut_before()
442 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_cut_before()
446 KUNIT_EXPECT_EQ(test, i, 3); in list_test_list_cut_before()
449 static void list_test_list_splice(struct kunit *test) in list_test_list_splice() argument
467 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_splice()
471 KUNIT_EXPECT_EQ(test, i, 5); in list_test_list_splice()
474 static void list_test_list_splice_tail(struct kunit *test) in list_test_list_splice_tail() argument
492 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_splice_tail()
496 KUNIT_EXPECT_EQ(test, i, 5); in list_test_list_splice_tail()
499 static void list_test_list_splice_init(struct kunit *test) in list_test_list_splice_init() argument
517 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_splice_init()
521 KUNIT_EXPECT_EQ(test, i, 5); in list_test_list_splice_init()
523 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list2)); in list_test_list_splice_init()
526 static void list_test_list_splice_tail_init(struct kunit *test) in list_test_list_splice_tail_init() argument
544 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_splice_tail_init()
548 KUNIT_EXPECT_EQ(test, i, 5); in list_test_list_splice_tail_init()
550 KUNIT_EXPECT_TRUE(test, list_empty_careful(&list2)); in list_test_list_splice_tail_init()
553 static void list_test_list_entry(struct kunit *test) in list_test_list_entry() argument
557 KUNIT_EXPECT_PTR_EQ(test, &test_struct, list_entry(&(test_struct.list), in list_test_list_entry()
561 static void list_test_list_entry_is_head(struct kunit *test) in list_test_list_entry_is_head() argument
570 KUNIT_EXPECT_TRUE_MSG(test, in list_test_list_entry_is_head()
573 KUNIT_EXPECT_FALSE_MSG(test, in list_test_list_entry_is_head()
576 KUNIT_EXPECT_FALSE_MSG(test, in list_test_list_entry_is_head()
581 static void list_test_list_first_entry(struct kunit *test) in list_test_list_first_entry() argument
590 KUNIT_EXPECT_PTR_EQ(test, &test_struct1, list_first_entry(&list, in list_test_list_first_entry()
594 static void list_test_list_last_entry(struct kunit *test) in list_test_list_last_entry() argument
603 KUNIT_EXPECT_PTR_EQ(test, &test_struct2, list_last_entry(&list, in list_test_list_last_entry()
607 static void list_test_list_first_entry_or_null(struct kunit *test) in list_test_list_first_entry_or_null() argument
612 KUNIT_EXPECT_FALSE(test, list_first_entry_or_null(&list, in list_test_list_first_entry_or_null()
618 KUNIT_EXPECT_PTR_EQ(test, &test_struct1, in list_test_list_first_entry_or_null()
623 static void list_test_list_next_entry(struct kunit *test) in list_test_list_next_entry() argument
632 KUNIT_EXPECT_PTR_EQ(test, &test_struct2, list_next_entry(&test_struct1, in list_test_list_next_entry()
636 static void list_test_list_prev_entry(struct kunit *test) in list_test_list_prev_entry() argument
645 KUNIT_EXPECT_PTR_EQ(test, &test_struct1, list_prev_entry(&test_struct2, in list_test_list_prev_entry()
649 static void list_test_list_for_each(struct kunit *test) in list_test_list_for_each() argument
660 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_for_each()
664 KUNIT_EXPECT_EQ(test, i, 3); in list_test_list_for_each()
667 static void list_test_list_for_each_prev(struct kunit *test) in list_test_list_for_each_prev() argument
678 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_for_each_prev()
682 KUNIT_EXPECT_EQ(test, i, -1); in list_test_list_for_each_prev()
685 static void list_test_list_for_each_safe(struct kunit *test) in list_test_list_for_each_safe() argument
697 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_for_each_safe()
702 KUNIT_EXPECT_EQ(test, i, 3); in list_test_list_for_each_safe()
703 KUNIT_EXPECT_TRUE(test, list_empty(&list)); in list_test_list_for_each_safe()
706 static void list_test_list_for_each_prev_safe(struct kunit *test) in list_test_list_for_each_prev_safe() argument
717 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in list_test_list_for_each_prev_safe()
722 KUNIT_EXPECT_EQ(test, i, -1); in list_test_list_for_each_prev_safe()
723 KUNIT_EXPECT_TRUE(test, list_empty(&list)); in list_test_list_for_each_prev_safe()
726 static void list_test_list_for_each_entry(struct kunit *test) in list_test_list_for_each_entry() argument
740 KUNIT_EXPECT_EQ(test, cur->data, i); in list_test_list_for_each_entry()
744 KUNIT_EXPECT_EQ(test, i, 5); in list_test_list_for_each_entry()
747 static void list_test_list_for_each_entry_reverse(struct kunit *test) in list_test_list_for_each_entry_reverse() argument
761 KUNIT_EXPECT_EQ(test, cur->data, i); in list_test_list_for_each_entry_reverse()
765 KUNIT_EXPECT_EQ(test, i, -1); in list_test_list_for_each_entry_reverse()
812 .name = "list-kunit-test",
821 static void hlist_test_init(struct kunit *test) in hlist_test_init() argument
823 /* Test the different ways of initialising a list. */ in hlist_test_init()
839 KUNIT_EXPECT_TRUE(test, hlist_empty(&list1)); in hlist_test_init()
840 KUNIT_EXPECT_TRUE(test, hlist_empty(&list2)); in hlist_test_init()
841 KUNIT_EXPECT_TRUE(test, hlist_empty(&list3)); in hlist_test_init()
842 KUNIT_EXPECT_TRUE(test, hlist_empty(list4)); in hlist_test_init()
843 KUNIT_EXPECT_TRUE(test, hlist_empty(list5)); in hlist_test_init()
849 static void hlist_test_unhashed(struct kunit *test) in hlist_test_unhashed() argument
857 KUNIT_EXPECT_TRUE(test, hlist_unhashed(&a)); in hlist_test_unhashed()
862 KUNIT_EXPECT_FALSE(test, hlist_unhashed(&a)); in hlist_test_unhashed()
867 KUNIT_EXPECT_TRUE(test, hlist_unhashed(&a)); in hlist_test_unhashed()
870 /* Doesn't test concurrency guarantees */
871 static void hlist_test_unhashed_lockless(struct kunit *test) in hlist_test_unhashed_lockless() argument
879 KUNIT_EXPECT_TRUE(test, hlist_unhashed_lockless(&a)); in hlist_test_unhashed_lockless()
884 KUNIT_EXPECT_FALSE(test, hlist_unhashed_lockless(&a)); in hlist_test_unhashed_lockless()
889 KUNIT_EXPECT_TRUE(test, hlist_unhashed_lockless(&a)); in hlist_test_unhashed_lockless()
892 static void hlist_test_del(struct kunit *test) in hlist_test_del() argument
904 KUNIT_EXPECT_PTR_EQ(test, list.first, &b); in hlist_test_del()
905 KUNIT_EXPECT_PTR_EQ(test, b.pprev, &list.first); in hlist_test_del()
908 static void hlist_test_del_init(struct kunit *test) in hlist_test_del_init() argument
920 KUNIT_EXPECT_PTR_EQ(test, list.first, &b); in hlist_test_del_init()
921 KUNIT_EXPECT_PTR_EQ(test, b.pprev, &list.first); in hlist_test_del_init()
924 KUNIT_EXPECT_PTR_EQ(test, a.next, NULL); in hlist_test_del_init()
925 KUNIT_EXPECT_PTR_EQ(test, a.pprev, NULL); in hlist_test_del_init()
929 static void hlist_test_add(struct kunit *test) in hlist_test_add() argument
940 KUNIT_EXPECT_PTR_EQ(test, list.first, &b); in hlist_test_add()
942 KUNIT_EXPECT_PTR_EQ(test, c.pprev, &(b.next)); in hlist_test_add()
943 KUNIT_EXPECT_PTR_EQ(test, b.next, &c); in hlist_test_add()
945 KUNIT_EXPECT_PTR_EQ(test, a.pprev, &(c.next)); in hlist_test_add()
946 KUNIT_EXPECT_PTR_EQ(test, c.next, &a); in hlist_test_add()
948 KUNIT_EXPECT_PTR_EQ(test, d.pprev, &(a.next)); in hlist_test_add()
949 KUNIT_EXPECT_PTR_EQ(test, a.next, &d); in hlist_test_add()
953 static void hlist_test_fake(struct kunit *test) in hlist_test_fake() argument
960 KUNIT_EXPECT_FALSE(test, hlist_fake(&a)); in hlist_test_fake()
965 KUNIT_EXPECT_TRUE(test, hlist_fake(&a)); in hlist_test_fake()
968 static void hlist_test_is_singular_node(struct kunit *test) in hlist_test_is_singular_node() argument
974 KUNIT_EXPECT_FALSE(test, hlist_is_singular_node(&a, &list)); in hlist_test_is_singular_node()
977 KUNIT_EXPECT_TRUE(test, hlist_is_singular_node(&a, &list)); in hlist_test_is_singular_node()
980 KUNIT_EXPECT_FALSE(test, hlist_is_singular_node(&a, &list)); in hlist_test_is_singular_node()
981 KUNIT_EXPECT_FALSE(test, hlist_is_singular_node(&b, &list)); in hlist_test_is_singular_node()
984 static void hlist_test_empty(struct kunit *test) in hlist_test_empty() argument
990 KUNIT_EXPECT_TRUE(test, hlist_empty(&list)); in hlist_test_empty()
995 KUNIT_EXPECT_FALSE(test, hlist_empty(&list)); in hlist_test_empty()
998 static void hlist_test_move_list(struct kunit *test) in hlist_test_move_list() argument
1006 KUNIT_EXPECT_FALSE(test, hlist_empty(&list1)); in hlist_test_move_list()
1007 KUNIT_EXPECT_TRUE(test, hlist_empty(&list2)); in hlist_test_move_list()
1009 KUNIT_EXPECT_TRUE(test, hlist_empty(&list1)); in hlist_test_move_list()
1010 KUNIT_EXPECT_FALSE(test, hlist_empty(&list2)); in hlist_test_move_list()
1014 static void hlist_test_entry(struct kunit *test) in hlist_test_entry() argument
1018 KUNIT_EXPECT_PTR_EQ(test, &test_struct, in hlist_test_entry()
1023 static void hlist_test_entry_safe(struct kunit *test) in hlist_test_entry_safe() argument
1027 KUNIT_EXPECT_PTR_EQ(test, &test_struct, in hlist_test_entry_safe()
1031 KUNIT_EXPECT_PTR_EQ(test, NULL, in hlist_test_entry_safe()
1036 static void hlist_test_for_each(struct kunit *test) in hlist_test_for_each() argument
1047 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in hlist_test_for_each()
1051 KUNIT_EXPECT_EQ(test, i, 3); in hlist_test_for_each()
1055 static void hlist_test_for_each_safe(struct kunit *test) in hlist_test_for_each_safe() argument
1066 KUNIT_EXPECT_PTR_EQ(test, cur, &entries[i]); in hlist_test_for_each_safe()
1071 KUNIT_EXPECT_EQ(test, i, 3); in hlist_test_for_each_safe()
1072 KUNIT_EXPECT_TRUE(test, hlist_empty(&list)); in hlist_test_for_each_safe()
1075 static void hlist_test_for_each_entry(struct kunit *test) in hlist_test_for_each_entry() argument
1091 KUNIT_EXPECT_EQ(test, cur->data, i); in hlist_test_for_each_entry()
1095 KUNIT_EXPECT_EQ(test, i, 5); in hlist_test_for_each_entry()
1098 static void hlist_test_for_each_entry_continue(struct kunit *test) in hlist_test_for_each_entry_continue() argument
1116 KUNIT_EXPECT_EQ(test, cur->data, i); in hlist_test_for_each_entry_continue()
1122 KUNIT_EXPECT_EQ(test, i, 5); in hlist_test_for_each_entry_continue()
1124 KUNIT_EXPECT_EQ(test, entries[0].data, 0); in hlist_test_for_each_entry_continue()
1126 KUNIT_EXPECT_EQ(test, entries[1].data, 42); in hlist_test_for_each_entry_continue()
1129 static void hlist_test_for_each_entry_from(struct kunit *test) in hlist_test_for_each_entry_from() argument
1146 KUNIT_EXPECT_EQ(test, cur->data, i); in hlist_test_for_each_entry_from()
1152 KUNIT_EXPECT_EQ(test, i, 5); in hlist_test_for_each_entry_from()
1154 KUNIT_EXPECT_EQ(test, entries[0].data, 42); in hlist_test_for_each_entry_from()
1157 static void hlist_test_for_each_entry_safe(struct kunit *test) in hlist_test_for_each_entry_safe() argument
1174 KUNIT_EXPECT_EQ(test, cur->data, i); in hlist_test_for_each_entry_safe()
1179 KUNIT_EXPECT_EQ(test, i, 5); in hlist_test_for_each_entry_safe()
1180 KUNIT_EXPECT_TRUE(test, hlist_empty(&list)); in hlist_test_for_each_entry_safe()
1227 static void klist_test_add_tail(struct kunit *test) in klist_test_add_tail() argument
1237 KUNIT_EXPECT_EQ(test, node_count, 1); in klist_test_add_tail()
1238 KUNIT_EXPECT_PTR_EQ(test, last_node, &a); in klist_test_add_tail()
1241 KUNIT_EXPECT_EQ(test, node_count, 2); in klist_test_add_tail()
1242 KUNIT_EXPECT_PTR_EQ(test, last_node, &b); in klist_test_add_tail()
1247 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_add_tail()
1248 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_add_tail()
1249 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_add_tail()
1255 static void klist_test_add_head(struct kunit *test) in klist_test_add_head() argument
1265 KUNIT_EXPECT_EQ(test, node_count, 1); in klist_test_add_head()
1266 KUNIT_EXPECT_PTR_EQ(test, last_node, &a); in klist_test_add_head()
1269 KUNIT_EXPECT_EQ(test, node_count, 2); in klist_test_add_head()
1270 KUNIT_EXPECT_PTR_EQ(test, last_node, &b); in klist_test_add_head()
1275 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_add_head()
1276 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_add_head()
1277 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_add_head()
1283 static void klist_test_add_behind(struct kunit *test) in klist_test_add_behind() argument
1296 KUNIT_EXPECT_EQ(test, node_count, 3); in klist_test_add_behind()
1297 KUNIT_EXPECT_PTR_EQ(test, last_node, &c); in klist_test_add_behind()
1300 KUNIT_EXPECT_EQ(test, node_count, 4); in klist_test_add_behind()
1301 KUNIT_EXPECT_PTR_EQ(test, last_node, &d); in klist_test_add_behind()
1306 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_add_behind()
1307 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &d); in klist_test_add_behind()
1308 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_add_behind()
1309 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &c); in klist_test_add_behind()
1310 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_add_behind()
1316 static void klist_test_add_before(struct kunit *test) in klist_test_add_before() argument
1328 KUNIT_EXPECT_EQ(test, node_count, 3); in klist_test_add_before()
1329 KUNIT_EXPECT_PTR_EQ(test, last_node, &c); in klist_test_add_before()
1332 KUNIT_EXPECT_EQ(test, node_count, 4); in klist_test_add_before()
1333 KUNIT_EXPECT_PTR_EQ(test, last_node, &d); in klist_test_add_before()
1338 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &d); in klist_test_add_before()
1339 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_add_before()
1340 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &c); in klist_test_add_before()
1341 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_add_before()
1342 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_add_before()
1352 static void klist_test_del_refcount_greater_than_zero(struct kunit *test) in klist_test_del_refcount_greater_than_zero() argument
1369 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_del_refcount_greater_than_zero()
1370 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_del_refcount_greater_than_zero()
1372 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &c); in klist_test_del_refcount_greater_than_zero()
1382 KUNIT_EXPECT_TRUE(test, klist_node_attached(&c)); in klist_test_del_refcount_greater_than_zero()
1385 KUNIT_EXPECT_EQ(test, node_count, 4); in klist_test_del_refcount_greater_than_zero()
1386 KUNIT_EXPECT_PTR_EQ(test, last_node, &d); in klist_test_del_refcount_greater_than_zero()
1394 KUNIT_EXPECT_EQ(test, node_count, 3); in klist_test_del_refcount_greater_than_zero()
1395 KUNIT_EXPECT_PTR_EQ(test, last_node, &c); in klist_test_del_refcount_greater_than_zero()
1403 static void klist_test_del_refcount_zero(struct kunit *test) in klist_test_del_refcount_zero() argument
1421 KUNIT_EXPECT_EQ(test, node_count, 3); in klist_test_del_refcount_zero()
1422 KUNIT_EXPECT_PTR_EQ(test, last_node, &c); in klist_test_del_refcount_zero()
1427 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_del_refcount_zero()
1428 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_del_refcount_zero()
1429 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &d); in klist_test_del_refcount_zero()
1430 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_del_refcount_zero()
1436 static void klist_test_remove(struct kunit *test) in klist_test_remove() argument
1438 /* This test doesn't check correctness under concurrent access */ in klist_test_remove()
1455 KUNIT_EXPECT_EQ(test, node_count, 3); in klist_test_remove()
1456 KUNIT_EXPECT_PTR_EQ(test, last_node, &c); in klist_test_remove()
1461 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &a); in klist_test_remove()
1462 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &b); in klist_test_remove()
1463 KUNIT_EXPECT_PTR_EQ(test, klist_next(&i), &d); in klist_test_remove()
1464 KUNIT_EXPECT_NULL(test, klist_next(&i)); in klist_test_remove()
1470 static void klist_test_node_attached(struct kunit *test) in klist_test_node_attached() argument
1477 KUNIT_EXPECT_FALSE(test, klist_node_attached(&a)); in klist_test_node_attached()
1479 KUNIT_EXPECT_TRUE(test, klist_node_attached(&a)); in klist_test_node_attached()
1481 KUNIT_EXPECT_FALSE(test, klist_node_attached(&a)); in klist_test_node_attached()
1504 MODULE_DESCRIPTION("KUnit test for the Kernel Linked-list structures");