Lines Matching refs:test
26 struct kunit *test = data; in kunit_test_successful_try() local
27 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_successful_try()
34 struct kunit *test = data; in kunit_test_no_catch() local
36 KUNIT_FAIL(test, "Catch should not be called\n"); in kunit_test_no_catch()
39 static void kunit_test_try_catch_successful_try_no_catch(struct kunit *test) in kunit_test_try_catch_successful_try_no_catch() argument
41 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_try_catch_successful_try_no_catch()
45 test, in kunit_test_try_catch_successful_try_no_catch()
49 kunit_try_catch_run(try_catch, test); in kunit_test_try_catch_successful_try_no_catch()
51 KUNIT_EXPECT_TRUE(test, ctx->function_called); in kunit_test_try_catch_successful_try_no_catch()
56 struct kunit *test = data; in kunit_test_unsuccessful_try() local
57 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_unsuccessful_try()
61 KUNIT_FAIL(test, "This line should never be reached\n"); in kunit_test_unsuccessful_try()
66 struct kunit *test = data; in kunit_test_catch() local
67 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_catch()
72 static void kunit_test_try_catch_unsuccessful_try_does_catch(struct kunit *test) in kunit_test_try_catch_unsuccessful_try_does_catch() argument
74 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_try_catch_unsuccessful_try_does_catch()
78 test, in kunit_test_try_catch_unsuccessful_try_does_catch()
82 kunit_try_catch_run(try_catch, test); in kunit_test_try_catch_unsuccessful_try_does_catch()
84 KUNIT_EXPECT_TRUE(test, ctx->function_called); in kunit_test_try_catch_unsuccessful_try_does_catch()
87 static int kunit_try_catch_test_init(struct kunit *test) in kunit_try_catch_test_init() argument
91 ctx = kunit_kzalloc(test, sizeof(*ctx), GFP_KERNEL); in kunit_try_catch_test_init()
92 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); in kunit_try_catch_test_init()
93 test->priv = ctx; in kunit_try_catch_test_init()
95 ctx->try_catch = kunit_kmalloc(test, in kunit_try_catch_test_init()
98 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx->try_catch); in kunit_try_catch_test_init()
119 struct kunit *test = data; in kunit_test_null_dereference() local
124 KUNIT_FAIL(test, "This line should never be reached\n"); in kunit_test_null_dereference()
127 static void kunit_test_fault_null_dereference(struct kunit *test) in kunit_test_fault_null_dereference() argument
129 struct kunit_try_catch_test_context *ctx = test->priv; in kunit_test_fault_null_dereference()
133 test, in kunit_test_fault_null_dereference()
137 kunit_try_catch_run(try_catch, test); in kunit_test_fault_null_dereference()
139 KUNIT_EXPECT_EQ(test, try_catch->try_result, -EINTR); in kunit_test_fault_null_dereference()
140 KUNIT_EXPECT_TRUE(test, ctx->function_called); in kunit_test_fault_null_dereference()
163 struct kunit test; member
185 static void kunit_resource_test_init_resources(struct kunit *test) in kunit_resource_test_init_resources() argument
187 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_init_resources()
189 kunit_init_test(&ctx->test, "testing_test_init_test", NULL); in kunit_resource_test_init_resources()
191 KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_init_resources()
194 static void kunit_resource_test_alloc_resource(struct kunit *test) in kunit_resource_test_alloc_resource() argument
196 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_alloc_resource()
200 res = kunit_alloc_and_get_resource(&ctx->test, in kunit_resource_test_alloc_resource()
206 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, res); in kunit_resource_test_alloc_resource()
207 KUNIT_EXPECT_PTR_EQ(test, in kunit_resource_test_alloc_resource()
210 KUNIT_EXPECT_TRUE(test, list_is_last(&res->node, &ctx->test.resources)); in kunit_resource_test_alloc_resource()
211 KUNIT_EXPECT_PTR_EQ(test, free, res->free); in kunit_resource_test_alloc_resource()
216 static inline bool kunit_resource_instance_match(struct kunit *test, in kunit_resource_instance_match() argument
231 static void kunit_resource_test_destroy_resource(struct kunit *test) in kunit_resource_test_destroy_resource() argument
233 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_destroy_resource()
235 &ctx->test, in kunit_resource_test_destroy_resource()
243 KUNIT_ASSERT_FALSE(test, in kunit_resource_test_destroy_resource()
244 kunit_destroy_resource(&ctx->test, in kunit_resource_test_destroy_resource()
248 KUNIT_EXPECT_FALSE(test, ctx->is_resource_initialized); in kunit_resource_test_destroy_resource()
249 KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_destroy_resource()
252 static void kunit_resource_test_remove_resource(struct kunit *test) in kunit_resource_test_remove_resource() argument
254 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_remove_resource()
256 &ctx->test, in kunit_resource_test_remove_resource()
263 KUNIT_EXPECT_FALSE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_remove_resource()
268 kunit_remove_resource(test, res); in kunit_resource_test_remove_resource()
269 KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_remove_resource()
271 KUNIT_EXPECT_TRUE(test, ctx->is_resource_initialized); in kunit_resource_test_remove_resource()
274 kunit_remove_resource(test, res); in kunit_resource_test_remove_resource()
275 KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_remove_resource()
279 KUNIT_EXPECT_TRUE(test, ctx->is_resource_initialized); in kunit_resource_test_remove_resource()
283 KUNIT_EXPECT_FALSE(test, ctx->is_resource_initialized); in kunit_resource_test_remove_resource()
286 static void kunit_resource_test_cleanup_resources(struct kunit *test) in kunit_resource_test_cleanup_resources() argument
289 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_cleanup_resources()
293 resources[i] = kunit_alloc_and_get_resource(&ctx->test, in kunit_resource_test_cleanup_resources()
301 kunit_cleanup(&ctx->test); in kunit_resource_test_cleanup_resources()
303 KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources)); in kunit_resource_test_cleanup_resources()
346 res2 = kunit_alloc_and_get_resource(&ctx->test, in fake_resource_1_init()
373 static void kunit_resource_test_proper_free_ordering(struct kunit *test) in kunit_resource_test_proper_free_ordering() argument
375 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_proper_free_ordering()
379 res = kunit_alloc_and_get_resource(&ctx->test, in kunit_resource_test_proper_free_ordering()
390 KUNIT_EXPECT_EQ(test, ctx->allocate_order[0], 2); in kunit_resource_test_proper_free_ordering()
391 KUNIT_EXPECT_EQ(test, ctx->allocate_order[1], 1); in kunit_resource_test_proper_free_ordering()
395 kunit_cleanup(&ctx->test); in kunit_resource_test_proper_free_ordering()
402 KUNIT_EXPECT_EQ(test, ctx->free_order[0], 1); in kunit_resource_test_proper_free_ordering()
403 KUNIT_EXPECT_EQ(test, ctx->free_order[1], 2); in kunit_resource_test_proper_free_ordering()
406 static void kunit_resource_test_static(struct kunit *test) in kunit_resource_test_static() argument
411 KUNIT_EXPECT_EQ(test, kunit_add_resource(test, NULL, NULL, &res, &ctx), in kunit_resource_test_static()
414 KUNIT_EXPECT_PTR_EQ(test, res.data, (void *)&ctx); in kunit_resource_test_static()
416 kunit_cleanup(test); in kunit_resource_test_static()
418 KUNIT_EXPECT_TRUE(test, list_empty(&test->resources)); in kunit_resource_test_static()
421 static void kunit_resource_test_named(struct kunit *test) in kunit_resource_test_named() argument
426 KUNIT_EXPECT_EQ(test, in kunit_resource_test_named()
427 kunit_add_named_resource(test, NULL, NULL, &res1, in kunit_resource_test_named()
430 KUNIT_EXPECT_PTR_EQ(test, res1.data, (void *)&ctx); in kunit_resource_test_named()
432 KUNIT_EXPECT_EQ(test, in kunit_resource_test_named()
433 kunit_add_named_resource(test, NULL, NULL, &res1, in kunit_resource_test_named()
437 KUNIT_EXPECT_EQ(test, in kunit_resource_test_named()
438 kunit_add_named_resource(test, NULL, NULL, &res2, in kunit_resource_test_named()
442 found = kunit_find_named_resource(test, "resource_1"); in kunit_resource_test_named()
444 KUNIT_EXPECT_PTR_EQ(test, found, &res1); in kunit_resource_test_named()
449 KUNIT_EXPECT_EQ(test, kunit_destroy_named_resource(test, "resource_2"), in kunit_resource_test_named()
452 kunit_cleanup(test); in kunit_resource_test_named()
454 KUNIT_EXPECT_TRUE(test, list_empty(&test->resources)); in kunit_resource_test_named()
463 static void kunit_resource_test_action(struct kunit *test) in kunit_resource_test_action() argument
467 kunit_add_action(test, increment_int, &num_actions); in kunit_resource_test_action()
468 KUNIT_EXPECT_EQ(test, num_actions, 0); in kunit_resource_test_action()
469 kunit_cleanup(test); in kunit_resource_test_action()
470 KUNIT_EXPECT_EQ(test, num_actions, 1); in kunit_resource_test_action()
473 kunit_cleanup(test); in kunit_resource_test_action()
474 KUNIT_EXPECT_EQ(test, num_actions, 1); in kunit_resource_test_action()
477 kunit_add_action(test, increment_int, &num_actions); in kunit_resource_test_action()
478 kunit_add_action(test, increment_int, &num_actions); in kunit_resource_test_action()
479 kunit_cleanup(test); in kunit_resource_test_action()
480 KUNIT_EXPECT_EQ(test, num_actions, 3); in kunit_resource_test_action()
482 static void kunit_resource_test_remove_action(struct kunit *test) in kunit_resource_test_remove_action() argument
486 kunit_add_action(test, increment_int, &num_actions); in kunit_resource_test_remove_action()
487 KUNIT_EXPECT_EQ(test, num_actions, 0); in kunit_resource_test_remove_action()
489 kunit_remove_action(test, increment_int, &num_actions); in kunit_resource_test_remove_action()
490 kunit_cleanup(test); in kunit_resource_test_remove_action()
491 KUNIT_EXPECT_EQ(test, num_actions, 0); in kunit_resource_test_remove_action()
493 static void kunit_resource_test_release_action(struct kunit *test) in kunit_resource_test_release_action() argument
497 kunit_add_action(test, increment_int, &num_actions); in kunit_resource_test_release_action()
498 KUNIT_EXPECT_EQ(test, num_actions, 0); in kunit_resource_test_release_action()
500 kunit_release_action(test, increment_int, &num_actions); in kunit_resource_test_release_action()
501 KUNIT_EXPECT_EQ(test, num_actions, 1); in kunit_resource_test_release_action()
504 kunit_cleanup(test); in kunit_resource_test_release_action()
505 KUNIT_EXPECT_EQ(test, num_actions, 1); in kunit_resource_test_release_action()
521 static void kunit_resource_test_action_ordering(struct kunit *test) in kunit_resource_test_action_ordering() argument
523 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_action_ordering()
525 kunit_add_action(test, action_order_1, ctx); in kunit_resource_test_action_ordering()
526 kunit_add_action(test, action_order_2, ctx); in kunit_resource_test_action_ordering()
527 kunit_add_action(test, action_order_1, ctx); in kunit_resource_test_action_ordering()
528 kunit_add_action(test, action_order_2, ctx); in kunit_resource_test_action_ordering()
529 kunit_remove_action(test, action_order_1, ctx); in kunit_resource_test_action_ordering()
530 kunit_release_action(test, action_order_2, ctx); in kunit_resource_test_action_ordering()
531 kunit_cleanup(test); in kunit_resource_test_action_ordering()
534 KUNIT_EXPECT_EQ(test, ctx->free_order[0], 2); in kunit_resource_test_action_ordering()
535 KUNIT_EXPECT_EQ(test, ctx->free_order[1], 2); in kunit_resource_test_action_ordering()
536 KUNIT_EXPECT_EQ(test, ctx->free_order[2], 1); in kunit_resource_test_action_ordering()
539 static int kunit_resource_test_init(struct kunit *test) in kunit_resource_test_init() argument
544 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); in kunit_resource_test_init()
546 test->priv = ctx; in kunit_resource_test_init()
548 kunit_init_test(&ctx->test, "test_test_context", NULL); in kunit_resource_test_init()
553 static void kunit_resource_test_exit(struct kunit *test) in kunit_resource_test_exit() argument
555 struct kunit_test_resource_context *ctx = test->priv; in kunit_resource_test_exit()
557 kunit_cleanup(&ctx->test); in kunit_resource_test_exit()
593 static void kunit_log_test(struct kunit *test) in kunit_log_test() argument
599 suite.log = kunit_alloc_string_stream(test, GFP_KERNEL); in kunit_log_test()
600 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, suite.log); in kunit_log_test()
603 kunit_log(KERN_INFO, test, "put this in log."); in kunit_log_test()
604 kunit_log(KERN_INFO, test, "this too."); in kunit_log_test()
609 KUNIT_EXPECT_TRUE(test, test->log->append_newlines); in kunit_log_test()
611 full_log = string_stream_get_string(test->log); in kunit_log_test()
612 kunit_add_action(test, kfree_wrapper, full_log); in kunit_log_test()
613 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, in kunit_log_test()
615 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, in kunit_log_test()
619 kunit_add_action(test, kfree_wrapper, full_log); in kunit_log_test()
620 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, in kunit_log_test()
622 KUNIT_EXPECT_NOT_ERR_OR_NULL(test, in kunit_log_test()
625 KUNIT_EXPECT_NULL(test, test->log); in kunit_log_test()
629 static void kunit_log_newline_test(struct kunit *test) in kunit_log_newline_test() argument
633 kunit_info(test, "Add newline\n"); in kunit_log_newline_test()
634 if (test->log) { in kunit_log_newline_test()
635 full_log = string_stream_get_string(test->log); in kunit_log_newline_test()
636 kunit_add_action(test, kfree_wrapper, full_log); in kunit_log_newline_test()
637 KUNIT_ASSERT_NOT_NULL_MSG(test, strstr(full_log, "Add newline\n"), in kunit_log_newline_test()
639 KUNIT_EXPECT_NULL(test, strstr(full_log, "Add newline\n\n")); in kunit_log_newline_test()
641 kunit_skip(test, "only useful when debugfs is enabled"); in kunit_log_newline_test()
645 static void kunit_log_test(struct kunit *test) in kunit_log_test() argument
647 kunit_skip(test, "Log tests only run when built-in"); in kunit_log_test()
650 static void kunit_log_newline_test(struct kunit *test) in kunit_log_newline_test() argument
652 kunit_skip(test, "Log tests only run when built-in"); in kunit_log_newline_test()
667 static void kunit_status_set_failure_test(struct kunit *test) in kunit_status_set_failure_test() argument
673 KUNIT_EXPECT_EQ(test, fake.status, (enum kunit_status)KUNIT_SUCCESS); in kunit_status_set_failure_test()
675 KUNIT_EXPECT_EQ(test, fake.status, (enum kunit_status)KUNIT_FAILURE); in kunit_status_set_failure_test()
678 static void kunit_status_mark_skipped_test(struct kunit *test) in kunit_status_mark_skipped_test() argument
685 KUNIT_EXPECT_EQ(test, fake.status, KUNIT_SUCCESS); in kunit_status_mark_skipped_test()
686 KUNIT_EXPECT_STREQ(test, fake.status_comment, ""); in kunit_status_mark_skipped_test()
692 KUNIT_EXPECT_EQ(test, fake.status, (enum kunit_status)KUNIT_SKIPPED); in kunit_status_mark_skipped_test()
693 KUNIT_EXPECT_STREQ(test, fake.status_comment, "Accepts format string: YES"); in kunit_status_mark_skipped_test()
707 static void kunit_current_test(struct kunit *test) in kunit_current_test() argument
712 KUNIT_EXPECT_PTR_EQ(test, test, current->kunit_test); in kunit_current_test()
713 KUNIT_EXPECT_PTR_EQ(test, test, kunit_get_current_test()); in kunit_current_test()
716 static void kunit_current_fail_test(struct kunit *test) in kunit_current_fail_test() argument
721 KUNIT_EXPECT_EQ(test, fake.status, KUNIT_SUCCESS); in kunit_current_fail_test()
727 KUNIT_EXPECT_EQ(test, fake.status, (enum kunit_status)KUNIT_FAILURE); in kunit_current_fail_test()
731 current->kunit_test = test; in kunit_current_fail_test()
745 static void kunit_device_test(struct kunit *test) in kunit_device_test() argument
750 test_device = kunit_device_register(test, "my_device"); in kunit_device_test()
751 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_device); in kunit_device_test()
756 KUNIT_EXPECT_EQ(test, action_was_run, 0); in kunit_device_test()
758 kunit_device_unregister(test, test_device); in kunit_device_test()
760 KUNIT_EXPECT_EQ(test, action_was_run, 1); in kunit_device_test()
763 static void kunit_device_cleanup_test(struct kunit *test) in kunit_device_cleanup_test() argument
768 test_device = kunit_device_register(test, "my_device"); in kunit_device_cleanup_test()
769 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_device); in kunit_device_cleanup_test()
774 KUNIT_EXPECT_EQ(test, action_was_run, 0); in kunit_device_cleanup_test()
777 kunit_cleanup(test); in kunit_device_cleanup_test()
779 KUNIT_EXPECT_EQ(test, action_was_run, 1); in kunit_device_cleanup_test()
790 struct kunit *test = kunit_get_current_test(); in driver_probe_hook() local
791 struct driver_test_state *state = (struct driver_test_state *)test->priv; in driver_probe_hook()
799 struct kunit *test = kunit_get_current_test(); in driver_remove_hook() local
800 struct driver_test_state *state = (struct driver_test_state *)test->priv; in driver_remove_hook()
806 static void kunit_device_driver_test(struct kunit *test) in kunit_device_driver_test() argument
810 struct driver_test_state *test_state = kunit_kzalloc(test, sizeof(*test_state), GFP_KERNEL); in kunit_device_driver_test()
812 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_state); in kunit_device_driver_test()
814 test->priv = test_state; in kunit_device_driver_test()
815 test_driver = kunit_driver_create(test, "my_driver"); in kunit_device_driver_test()
818 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_driver); in kunit_device_driver_test()
823 test_device = kunit_device_register_with_driver(test, "my_device", test_driver); in kunit_device_driver_test()
826 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_device); in kunit_device_driver_test()
829 KUNIT_ASSERT_TRUE(test, test_state->driver_device_probed); in kunit_device_driver_test()
834 KUNIT_EXPECT_EQ(test, test_state->action_was_run, 0); in kunit_device_driver_test()
836 kunit_device_unregister(test, test_device); in kunit_device_driver_test()
840 KUNIT_ASSERT_TRUE(test, test_state->driver_device_removed); in kunit_device_driver_test()
847 test_device = kunit_device_register_with_driver(test, "my_device", test_driver); in kunit_device_driver_test()
850 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, test_device); in kunit_device_driver_test()
853 KUNIT_ASSERT_TRUE(test, test_state->driver_device_probed); in kunit_device_driver_test()
875 static void kunit_stub_test(struct kunit *test) in kunit_stub_test() argument
887 KUNIT_ASSERT_EQ(test, fake_test.status, KUNIT_SUCCESS); in kunit_stub_test()
888 KUNIT_ASSERT_EQ(test, list_count_nodes(&fake_test.resources), 0); in kunit_stub_test()
892 KUNIT_ASSERT_EQ(test, fake_test.status, KUNIT_SUCCESS); in kunit_stub_test()
893 KUNIT_ASSERT_EQ(test, list_count_nodes(&fake_test.resources), 1); in kunit_stub_test()
896 KUNIT_EXPECT_NOT_NULL(test, res); in kunit_stub_test()
899 KUNIT_EXPECT_NOT_NULL(test, stub_ctx); in kunit_stub_test()
900 KUNIT_EXPECT_EQ(test, (unsigned long)stub_ctx->real_fn_addr, fake_real_fn_addr); in kunit_stub_test()
901 KUNIT_EXPECT_EQ(test, (unsigned long)stub_ctx->replacement_addr, fake_replacement_addr); in kunit_stub_test()
904 KUNIT_ASSERT_EQ(test, fake_test.status, KUNIT_SUCCESS); in kunit_stub_test()
905 KUNIT_ASSERT_EQ(test, list_count_nodes(&fake_test.resources), 0); in kunit_stub_test()