Lines Matching refs:test

48 static void *__init iov_kunit_create_buffer(struct kunit *test,  in iov_kunit_create_buffer()  argument
56 pages = kunit_kcalloc(test, npages, sizeof(struct page *), GFP_KERNEL); in iov_kunit_create_buffer()
57 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pages); in iov_kunit_create_buffer()
63 KUNIT_ASSERT_EQ(test, got, npages); in iov_kunit_create_buffer()
67 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buffer); in iov_kunit_create_buffer()
69 kunit_add_action_or_reset(test, iov_kunit_unmap, buffer); in iov_kunit_create_buffer()
73 static void __init iov_kunit_load_kvec(struct kunit *test, in iov_kunit_load_kvec() argument
85 KUNIT_ASSERT_GE(test, pr->to, pr->from); in iov_kunit_load_kvec()
86 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_load_kvec()
91 KUNIT_ASSERT_LE(test, size, bufsize); in iov_kunit_load_kvec()
99 static void __init iov_kunit_copy_to_kvec(struct kunit *test) in iov_kunit_copy_to_kvec() argument
112 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_to_kvec()
116 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_to_kvec()
119 iov_kunit_load_kvec(test, &iter, READ, kvec, ARRAY_SIZE(kvec), in iov_kunit_copy_to_kvec()
125 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_to_kvec()
126 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_to_kvec()
127 KUNIT_EXPECT_EQ(test, iter.nr_segs, 0); in iov_kunit_copy_to_kvec()
138 KUNIT_EXPECT_EQ_MSG(test, buffer[i], scratch[i], "at i=%x", i); in iov_kunit_copy_to_kvec()
143 KUNIT_SUCCEED(test); in iov_kunit_copy_to_kvec()
149 static void __init iov_kunit_copy_from_kvec(struct kunit *test) in iov_kunit_copy_from_kvec() argument
162 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_from_kvec()
166 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_from_kvec()
169 iov_kunit_load_kvec(test, &iter, WRITE, kvec, ARRAY_SIZE(kvec), in iov_kunit_copy_from_kvec()
175 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_from_kvec()
176 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_from_kvec()
177 KUNIT_EXPECT_EQ(test, iter.nr_segs, 0); in iov_kunit_copy_from_kvec()
193 KUNIT_EXPECT_EQ_MSG(test, scratch[i], buffer[i], "at i=%x", i); in iov_kunit_copy_from_kvec()
198 KUNIT_SUCCEED(test); in iov_kunit_copy_from_kvec()
217 static void __init iov_kunit_load_bvec(struct kunit *test, in iov_kunit_load_bvec() argument
231 KUNIT_ASSERT_LT(test, pr->page, npages); in iov_kunit_load_bvec()
232 KUNIT_ASSERT_LT(test, pr->page * PAGE_SIZE, bufsize); in iov_kunit_load_bvec()
233 KUNIT_ASSERT_GE(test, pr->from, 0); in iov_kunit_load_bvec()
234 KUNIT_ASSERT_GE(test, pr->to, pr->from); in iov_kunit_load_bvec()
235 KUNIT_ASSERT_LE(test, pr->to, PAGE_SIZE); in iov_kunit_load_bvec()
258 static void __init iov_kunit_copy_to_bvec(struct kunit *test) in iov_kunit_copy_to_bvec() argument
271 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_to_bvec()
275 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_to_bvec()
278 iov_kunit_load_bvec(test, &iter, READ, bvec, ARRAY_SIZE(bvec), in iov_kunit_copy_to_bvec()
284 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_to_bvec()
285 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_to_bvec()
286 KUNIT_EXPECT_EQ(test, iter.nr_segs, 0); in iov_kunit_copy_to_bvec()
301 KUNIT_EXPECT_EQ_MSG(test, buffer[i], scratch[i], "at i=%x", i); in iov_kunit_copy_to_bvec()
306 KUNIT_SUCCEED(test); in iov_kunit_copy_to_bvec()
312 static void __init iov_kunit_copy_from_bvec(struct kunit *test) in iov_kunit_copy_from_bvec() argument
325 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_from_bvec()
329 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_from_bvec()
332 iov_kunit_load_bvec(test, &iter, WRITE, bvec, ARRAY_SIZE(bvec), in iov_kunit_copy_from_bvec()
338 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_from_bvec()
339 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_from_bvec()
340 KUNIT_EXPECT_EQ(test, iter.nr_segs, 0); in iov_kunit_copy_from_bvec()
358 KUNIT_EXPECT_EQ_MSG(test, scratch[i], buffer[i], "at i=%x", i); in iov_kunit_copy_from_bvec()
363 KUNIT_SUCCEED(test); in iov_kunit_copy_from_bvec()
379 static void __init iov_kunit_load_folioq(struct kunit *test, in iov_kunit_load_folioq() argument
391 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, p->next); in iov_kunit_load_folioq()
402 static struct folio_queue *iov_kunit_create_folioq(struct kunit *test) in iov_kunit_create_folioq() argument
407 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, folioq); in iov_kunit_create_folioq()
408 kunit_add_action_or_reset(test, iov_kunit_destroy_folioq, folioq); in iov_kunit_create_folioq()
416 static void __init iov_kunit_copy_to_folioq(struct kunit *test) in iov_kunit_copy_to_folioq() argument
429 folioq = iov_kunit_create_folioq(test); in iov_kunit_copy_to_folioq()
431 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_to_folioq()
435 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_to_folioq()
438 iov_kunit_load_folioq(test, &iter, READ, folioq, bpages, npages); in iov_kunit_copy_to_folioq()
443 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_copy_to_folioq()
449 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_to_folioq()
450 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_to_folioq()
451 KUNIT_EXPECT_EQ(test, iter.iov_offset, pr->to % PAGE_SIZE); in iov_kunit_copy_to_folioq()
453 if (test->status == KUNIT_FAILURE) in iov_kunit_copy_to_folioq()
466 KUNIT_EXPECT_EQ_MSG(test, buffer[i], scratch[i], "at i=%x", i); in iov_kunit_copy_to_folioq()
472 KUNIT_SUCCEED(test); in iov_kunit_copy_to_folioq()
478 static void __init iov_kunit_copy_from_folioq(struct kunit *test) in iov_kunit_copy_from_folioq() argument
491 folioq = iov_kunit_create_folioq(test); in iov_kunit_copy_from_folioq()
493 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_from_folioq()
497 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_from_folioq()
500 iov_kunit_load_folioq(test, &iter, READ, folioq, bpages, npages); in iov_kunit_copy_from_folioq()
505 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_copy_from_folioq()
511 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_from_folioq()
512 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_from_folioq()
513 KUNIT_EXPECT_EQ(test, iter.iov_offset, pr->to % PAGE_SIZE); in iov_kunit_copy_from_folioq()
531 KUNIT_EXPECT_EQ_MSG(test, scratch[i], buffer[i], "at i=%x", i); in iov_kunit_copy_from_folioq()
536 KUNIT_SUCCEED(test); in iov_kunit_copy_from_folioq()
547 static void __init iov_kunit_load_xarray(struct kunit *test, in iov_kunit_load_xarray() argument
558 KUNIT_ASSERT_FALSE(test, xa_is_err(x)); in iov_kunit_load_xarray()
564 static struct xarray *iov_kunit_create_xarray(struct kunit *test) in iov_kunit_create_xarray() argument
570 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xarray); in iov_kunit_create_xarray()
571 kunit_add_action_or_reset(test, iov_kunit_destroy_xarray, xarray); in iov_kunit_create_xarray()
578 static void __init iov_kunit_copy_to_xarray(struct kunit *test) in iov_kunit_copy_to_xarray() argument
591 xarray = iov_kunit_create_xarray(test); in iov_kunit_copy_to_xarray()
593 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_to_xarray()
597 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_to_xarray()
600 iov_kunit_load_xarray(test, &iter, READ, xarray, bpages, npages); in iov_kunit_copy_to_xarray()
605 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_copy_to_xarray()
610 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_to_xarray()
611 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_to_xarray()
612 KUNIT_EXPECT_EQ(test, iter.iov_offset, size); in iov_kunit_copy_to_xarray()
625 KUNIT_EXPECT_EQ_MSG(test, buffer[i], scratch[i], "at i=%x", i); in iov_kunit_copy_to_xarray()
630 KUNIT_SUCCEED(test); in iov_kunit_copy_to_xarray()
636 static void __init iov_kunit_copy_from_xarray(struct kunit *test) in iov_kunit_copy_from_xarray() argument
649 xarray = iov_kunit_create_xarray(test); in iov_kunit_copy_from_xarray()
651 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_copy_from_xarray()
655 scratch = iov_kunit_create_buffer(test, &spages, npages); in iov_kunit_copy_from_xarray()
658 iov_kunit_load_xarray(test, &iter, READ, xarray, bpages, npages); in iov_kunit_copy_from_xarray()
663 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_copy_from_xarray()
668 KUNIT_EXPECT_EQ(test, copied, size); in iov_kunit_copy_from_xarray()
669 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_copy_from_xarray()
670 KUNIT_EXPECT_EQ(test, iter.iov_offset, size); in iov_kunit_copy_from_xarray()
688 KUNIT_EXPECT_EQ_MSG(test, scratch[i], buffer[i], "at i=%x", i); in iov_kunit_copy_from_xarray()
693 KUNIT_SUCCEED(test); in iov_kunit_copy_from_xarray()
699 static void __init iov_kunit_extract_pages_kvec(struct kunit *test) in iov_kunit_extract_pages_kvec() argument
713 buffer = iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_extract_pages_kvec()
715 iov_kunit_load_kvec(test, &iter, READ, kvec, ARRAY_SIZE(kvec), in iov_kunit_extract_pages_kvec()
729 KUNIT_EXPECT_GE(test, len, 0); in iov_kunit_extract_pages_kvec()
732 KUNIT_EXPECT_GE(test, (ssize_t)offset0, 0); in iov_kunit_extract_pages_kvec()
733 KUNIT_EXPECT_LT(test, offset0, PAGE_SIZE); in iov_kunit_extract_pages_kvec()
734 KUNIT_EXPECT_LE(test, len, size); in iov_kunit_extract_pages_kvec()
735 KUNIT_EXPECT_EQ(test, iter.count, size - len); in iov_kunit_extract_pages_kvec()
746 KUNIT_ASSERT_GE(test, part, 0); in iov_kunit_extract_pages_kvec()
754 KUNIT_ASSERT_LT(test, ix, npages); in iov_kunit_extract_pages_kvec()
756 KUNIT_EXPECT_PTR_EQ(test, pagelist[i], p); in iov_kunit_extract_pages_kvec()
757 KUNIT_EXPECT_EQ(test, offset0, from % PAGE_SIZE); in iov_kunit_extract_pages_kvec()
760 KUNIT_ASSERT_GE(test, len, 0); in iov_kunit_extract_pages_kvec()
766 if (test->status == KUNIT_FAILURE) in iov_kunit_extract_pages_kvec()
771 KUNIT_EXPECT_EQ(test, size, 0); in iov_kunit_extract_pages_kvec()
772 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_extract_pages_kvec()
773 KUNIT_SUCCEED(test); in iov_kunit_extract_pages_kvec()
779 static void __init iov_kunit_extract_pages_bvec(struct kunit *test) in iov_kunit_extract_pages_bvec() argument
792 iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_extract_pages_bvec()
793 iov_kunit_load_bvec(test, &iter, READ, bvec, ARRAY_SIZE(bvec), in iov_kunit_extract_pages_bvec()
807 KUNIT_EXPECT_GE(test, len, 0); in iov_kunit_extract_pages_bvec()
810 KUNIT_EXPECT_GE(test, (ssize_t)offset0, 0); in iov_kunit_extract_pages_bvec()
811 KUNIT_EXPECT_LT(test, offset0, PAGE_SIZE); in iov_kunit_extract_pages_bvec()
812 KUNIT_EXPECT_LE(test, len, size); in iov_kunit_extract_pages_bvec()
813 KUNIT_EXPECT_EQ(test, iter.count, size - len); in iov_kunit_extract_pages_bvec()
824 KUNIT_ASSERT_GE(test, part, 0); in iov_kunit_extract_pages_bvec()
832 KUNIT_ASSERT_LT(test, ix, npages); in iov_kunit_extract_pages_bvec()
834 KUNIT_EXPECT_PTR_EQ(test, pagelist[i], p); in iov_kunit_extract_pages_bvec()
835 KUNIT_EXPECT_EQ(test, offset0, from % PAGE_SIZE); in iov_kunit_extract_pages_bvec()
838 KUNIT_ASSERT_GE(test, len, 0); in iov_kunit_extract_pages_bvec()
844 if (test->status == KUNIT_FAILURE) in iov_kunit_extract_pages_bvec()
849 KUNIT_EXPECT_EQ(test, size, 0); in iov_kunit_extract_pages_bvec()
850 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_extract_pages_bvec()
851 KUNIT_SUCCEED(test); in iov_kunit_extract_pages_bvec()
857 static void __init iov_kunit_extract_pages_folioq(struct kunit *test) in iov_kunit_extract_pages_folioq() argument
870 folioq = iov_kunit_create_folioq(test); in iov_kunit_extract_pages_folioq()
872 iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_extract_pages_folioq()
873 iov_kunit_load_folioq(test, &iter, READ, folioq, bpages, npages); in iov_kunit_extract_pages_folioq()
878 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_extract_pages_folioq()
891 KUNIT_EXPECT_GE(test, len, 0); in iov_kunit_extract_pages_folioq()
894 KUNIT_EXPECT_LE(test, len, size); in iov_kunit_extract_pages_folioq()
895 KUNIT_EXPECT_EQ(test, iter.count, size - len); in iov_kunit_extract_pages_folioq()
899 KUNIT_EXPECT_GE(test, (ssize_t)offset0, 0); in iov_kunit_extract_pages_folioq()
900 KUNIT_EXPECT_LT(test, offset0, PAGE_SIZE); in iov_kunit_extract_pages_folioq()
907 KUNIT_ASSERT_GE(test, part, 0); in iov_kunit_extract_pages_folioq()
909 KUNIT_ASSERT_LT(test, ix, npages); in iov_kunit_extract_pages_folioq()
911 KUNIT_EXPECT_PTR_EQ(test, pagelist[i], p); in iov_kunit_extract_pages_folioq()
912 KUNIT_EXPECT_EQ(test, offset0, from % PAGE_SIZE); in iov_kunit_extract_pages_folioq()
915 KUNIT_ASSERT_GE(test, len, 0); in iov_kunit_extract_pages_folioq()
921 if (test->status == KUNIT_FAILURE) in iov_kunit_extract_pages_folioq()
925 KUNIT_EXPECT_EQ(test, size, 0); in iov_kunit_extract_pages_folioq()
926 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_extract_pages_folioq()
930 KUNIT_SUCCEED(test); in iov_kunit_extract_pages_folioq()
936 static void __init iov_kunit_extract_pages_xarray(struct kunit *test) in iov_kunit_extract_pages_xarray() argument
949 xarray = iov_kunit_create_xarray(test); in iov_kunit_extract_pages_xarray()
951 iov_kunit_create_buffer(test, &bpages, npages); in iov_kunit_extract_pages_xarray()
952 iov_kunit_load_xarray(test, &iter, READ, xarray, bpages, npages); in iov_kunit_extract_pages_xarray()
957 KUNIT_ASSERT_LE(test, pr->to, bufsize); in iov_kunit_extract_pages_xarray()
969 KUNIT_EXPECT_GE(test, len, 0); in iov_kunit_extract_pages_xarray()
972 KUNIT_EXPECT_LE(test, len, size); in iov_kunit_extract_pages_xarray()
973 KUNIT_EXPECT_EQ(test, iter.count, size - len); in iov_kunit_extract_pages_xarray()
977 KUNIT_EXPECT_GE(test, (ssize_t)offset0, 0); in iov_kunit_extract_pages_xarray()
978 KUNIT_EXPECT_LT(test, offset0, PAGE_SIZE); in iov_kunit_extract_pages_xarray()
985 KUNIT_ASSERT_GE(test, part, 0); in iov_kunit_extract_pages_xarray()
987 KUNIT_ASSERT_LT(test, ix, npages); in iov_kunit_extract_pages_xarray()
989 KUNIT_EXPECT_PTR_EQ(test, pagelist[i], p); in iov_kunit_extract_pages_xarray()
990 KUNIT_EXPECT_EQ(test, offset0, from % PAGE_SIZE); in iov_kunit_extract_pages_xarray()
993 KUNIT_ASSERT_GE(test, len, 0); in iov_kunit_extract_pages_xarray()
999 if (test->status == KUNIT_FAILURE) in iov_kunit_extract_pages_xarray()
1003 KUNIT_EXPECT_EQ(test, size, 0); in iov_kunit_extract_pages_xarray()
1004 KUNIT_EXPECT_EQ(test, iter.count, 0); in iov_kunit_extract_pages_xarray()
1005 KUNIT_EXPECT_EQ(test, iter.iov_offset, pr->to - pr->from); in iov_kunit_extract_pages_xarray()
1009 KUNIT_SUCCEED(test); in iov_kunit_extract_pages_xarray()