Lines Matching refs:test

108 static void kunit_print_test_stats(struct kunit *test,  in kunit_print_test_stats()  argument
114 kunit_log(KERN_INFO, test, in kunit_print_test_stats()
117 test->name, in kunit_print_test_stats()
175 static void kunit_print_ok_not_ok(struct kunit *test, in kunit_print_ok_not_ok() argument
189 WARN(!test && test_level, "suite test level can't be %u!\n", test_level); in kunit_print_ok_not_ok()
198 if (!test) in kunit_print_ok_not_ok()
204 kunit_log(KERN_INFO, test, in kunit_print_ok_not_ok()
258 static void kunit_print_string_stream(struct kunit *test, in kunit_print_string_stream() argument
269 kunit_err(test, in kunit_print_string_stream()
272 kunit_err(test, "%s", fragment->fragment); in kunit_print_string_stream()
274 kunit_err(test, "\n"); in kunit_print_string_stream()
276 kunit_err(test, "%s", buf); in kunit_print_string_stream()
281 static void kunit_fail(struct kunit *test, const struct kunit_loc *loc, in kunit_fail() argument
287 kunit_set_failure(test); in kunit_fail()
289 stream = kunit_alloc_string_stream(test, GFP_KERNEL); in kunit_fail()
301 kunit_print_string_stream(test, stream); in kunit_fail()
303 kunit_free_string_stream(test, stream); in kunit_fail()
306 void __noreturn __kunit_abort(struct kunit *test) in __kunit_abort() argument
308 kunit_try_catch_throw(&test->try_catch); /* Does not return. */ in __kunit_abort()
320 void __kunit_do_failed_assertion(struct kunit *test, in __kunit_do_failed_assertion() argument
334 kunit_fail(test, loc, type, assert, assert_format, &message); in __kunit_do_failed_assertion()
340 void kunit_init_test(struct kunit *test, const char *name, struct string_stream *log) in kunit_init_test() argument
342 spin_lock_init(&test->lock); in kunit_init_test()
343 INIT_LIST_HEAD(&test->resources); in kunit_init_test()
344 test->name = name; in kunit_init_test()
345 test->log = log; in kunit_init_test()
346 if (test->log) in kunit_init_test()
348 test->status = KUNIT_SUCCESS; in kunit_init_test()
349 test->status_comment[0] = '\0'; in kunit_init_test()
364 static void kunit_run_case_check_speed(struct kunit *test, in kunit_run_case_check_speed() argument
378 kunit_warn(test, in kunit_run_case_check_speed()
420 static void kunit_run_case_internal(struct kunit *test, in kunit_run_case_internal() argument
429 ret = suite->init(test); in kunit_run_case_internal()
431 kunit_err(test, "failed to initialize: %d\n", ret); in kunit_run_case_internal()
432 kunit_set_failure(test); in kunit_run_case_internal()
439 test_case->run_case(test); in kunit_run_case_internal()
443 kunit_run_case_check_speed(test, test_case, timespec64_sub(end, start)); in kunit_run_case_internal()
446 static void kunit_case_internal_cleanup(struct kunit *test) in kunit_case_internal_cleanup() argument
448 kunit_cleanup(test); in kunit_case_internal_cleanup()
455 static void kunit_run_case_cleanup(struct kunit *test, in kunit_run_case_cleanup() argument
459 suite->exit(test); in kunit_run_case_cleanup()
461 kunit_case_internal_cleanup(test); in kunit_run_case_cleanup()
465 struct kunit *test; member
473 struct kunit *test = ctx->test; in kunit_try_run_case() local
477 current->kunit_test = test; in kunit_try_run_case()
484 kunit_run_case_internal(test, suite, test_case); in kunit_try_run_case()
490 struct kunit *test = ctx->test; in kunit_try_run_case_cleanup() local
493 current->kunit_test = test; in kunit_try_run_case_cleanup()
495 kunit_run_case_cleanup(test, suite); in kunit_try_run_case_cleanup()
501 struct kunit *test = ctx->test; in kunit_catch_run_case_cleanup() local
502 int try_exit_code = kunit_try_catch_get_result(&test->try_catch); in kunit_catch_run_case_cleanup()
505 kunit_set_failure(test); in kunit_catch_run_case_cleanup()
513 kunit_err(test, "test case cleanup timed out\n"); in kunit_catch_run_case_cleanup()
519 kunit_err(test, "internal error occurred during test case cleanup: %d\n", in kunit_catch_run_case_cleanup()
525 kunit_err(test, "test aborted during cleanup. continuing without cleaning up\n"); in kunit_catch_run_case_cleanup()
532 struct kunit *test = ctx->test; in kunit_catch_run_case() local
533 int try_exit_code = kunit_try_catch_get_result(&test->try_catch); in kunit_catch_run_case()
536 kunit_set_failure(test); in kunit_catch_run_case()
542 kunit_err(test, "test case timed out\n"); in kunit_catch_run_case()
548 kunit_err(test, "internal error occurred preventing test case from running: %d\n", in kunit_catch_run_case()
561 struct kunit *test) in kunit_run_case_catch_errors() argument
566 try_catch = &test->try_catch; in kunit_run_case_catch_errors()
569 test, in kunit_run_case_catch_errors()
573 context.test = test; in kunit_run_case_catch_errors()
580 test, in kunit_run_case_catch_errors()
587 if (test->status == KUNIT_FAILURE) in kunit_run_case_catch_errors()
589 else if (test_case->status != KUNIT_FAILURE && test->status == KUNIT_SUCCESS) in kunit_run_case_catch_errors()
666 struct kunit test = { .param_value = NULL, .param_index = 0 }; in kunit_run_tests() local
669 kunit_init_test(&test, test_case->name, test_case->log); in kunit_run_tests()
672 test.status = KUNIT_SKIPPED; in kunit_run_tests()
673 kunit_update_stats(&param_stats, test.status); in kunit_run_tests()
677 kunit_run_case_catch_errors(suite, test_case, &test); in kunit_run_tests()
678 kunit_update_stats(&param_stats, test.status); in kunit_run_tests()
682 test.param_value = test_case->generate_params(NULL, param_desc); in kunit_run_tests()
684 kunit_log(KERN_INFO, &test, KUNIT_SUBTEST_INDENT KUNIT_SUBTEST_INDENT in kunit_run_tests()
686 kunit_log(KERN_INFO, &test, KUNIT_SUBTEST_INDENT KUNIT_SUBTEST_INDENT in kunit_run_tests()
689 while (test.param_value) { in kunit_run_tests()
690 kunit_run_case_catch_errors(suite, test_case, &test); in kunit_run_tests()
694 "param-%d", test.param_index); in kunit_run_tests()
697 kunit_print_ok_not_ok(&test, KUNIT_LEVEL_CASE_PARAM, in kunit_run_tests()
698 test.status, in kunit_run_tests()
699 test.param_index + 1, in kunit_run_tests()
701 test.status_comment); in kunit_run_tests()
703 kunit_update_stats(&param_stats, test.status); in kunit_run_tests()
707 test.param_value = test_case->generate_params(test.param_value, param_desc); in kunit_run_tests()
708 test.param_index++; in kunit_run_tests()
709 test.status = KUNIT_SUCCESS; in kunit_run_tests()
710 test.status_comment[0] = '\0'; in kunit_run_tests()
711 test.priv = NULL; in kunit_run_tests()
717 kunit_print_test_stats(&test, param_stats); in kunit_run_tests()
719 kunit_print_ok_not_ok(&test, KUNIT_LEVEL_CASE, test_case->status, in kunit_run_tests()
722 test.status_comment); in kunit_run_tests()
895 void *kunit_kmalloc_array(struct kunit *test, size_t n, size_t size, gfp_t gfp) in KUNIT_DEFINE_ACTION_WRAPPER()
904 if (kunit_add_action_or_reset(test, kfree_action_wrapper, data) != 0) in KUNIT_DEFINE_ACTION_WRAPPER()
911 void kunit_kfree(struct kunit *test, const void *ptr) in kunit_kfree() argument
916 kunit_release_action(test, kfree_action_wrapper, (void *)ptr); in kunit_kfree()
920 void kunit_kfree_const(struct kunit *test, const void *x) in kunit_kfree_const() argument
925 kunit_kfree(test, x); in kunit_kfree_const()
929 const char *kunit_kstrdup_const(struct kunit *test, const char *str, gfp_t gfp) in kunit_kstrdup_const() argument
935 return kunit_kstrdup(test, str, gfp); in kunit_kstrdup_const()
939 void kunit_cleanup(struct kunit *test) in kunit_cleanup() argument
954 spin_lock_irqsave(&test->lock, flags); in kunit_cleanup()
955 if (list_empty(&test->resources)) { in kunit_cleanup()
956 spin_unlock_irqrestore(&test->lock, flags); in kunit_cleanup()
959 res = list_last_entry(&test->resources, in kunit_cleanup()
967 spin_unlock_irqrestore(&test->lock, flags); in kunit_cleanup()
968 kunit_remove_resource(test, res); in kunit_cleanup()