Lines Matching refs:test

84 static void kunit_print_test_stats(struct kunit *test,  in kunit_print_test_stats()  argument
90 kunit_log(KERN_INFO, test, in kunit_print_test_stats()
93 test->name, in kunit_print_test_stats()
153 struct kunit *test = is_test ? test_or_suite : NULL; in kunit_print_ok_not_ok() local
170 kunit_log(KERN_INFO, test, in kunit_print_ok_not_ok()
220 static void kunit_print_string_stream(struct kunit *test, in kunit_print_string_stream() argument
231 kunit_err(test, in kunit_print_string_stream()
234 kunit_err(test, "%s", fragment->fragment); in kunit_print_string_stream()
236 kunit_err(test, "\n"); in kunit_print_string_stream()
238 kunit_err(test, "%s", buf); in kunit_print_string_stream()
239 kunit_kfree(test, buf); in kunit_print_string_stream()
243 static void kunit_fail(struct kunit *test, struct kunit_assert *assert) in kunit_fail() argument
247 kunit_set_failure(test); in kunit_fail()
249 stream = alloc_string_stream(test, GFP_KERNEL); in kunit_fail()
260 kunit_print_string_stream(test, stream); in kunit_fail()
265 static void __noreturn kunit_abort(struct kunit *test) in kunit_abort() argument
267 kunit_try_catch_throw(&test->try_catch); /* Does not return. */ in kunit_abort()
278 void kunit_do_assertion(struct kunit *test, in kunit_do_assertion() argument
293 kunit_fail(test, assert); in kunit_do_assertion()
298 kunit_abort(test); in kunit_do_assertion()
302 void kunit_init_test(struct kunit *test, const char *name, char *log) in kunit_init_test() argument
304 spin_lock_init(&test->lock); in kunit_init_test()
305 INIT_LIST_HEAD(&test->resources); in kunit_init_test()
306 test->name = name; in kunit_init_test()
307 test->log = log; in kunit_init_test()
308 if (test->log) in kunit_init_test()
309 test->log[0] = '\0'; in kunit_init_test()
310 test->status = KUNIT_SUCCESS; in kunit_init_test()
311 test->status_comment[0] = '\0'; in kunit_init_test()
318 static void kunit_run_case_internal(struct kunit *test, in kunit_run_case_internal() argument
325 ret = suite->init(test); in kunit_run_case_internal()
327 kunit_err(test, "failed to initialize: %d\n", ret); in kunit_run_case_internal()
328 kunit_set_failure(test); in kunit_run_case_internal()
333 test_case->run_case(test); in kunit_run_case_internal()
336 static void kunit_case_internal_cleanup(struct kunit *test) in kunit_case_internal_cleanup() argument
338 kunit_cleanup(test); in kunit_case_internal_cleanup()
345 static void kunit_run_case_cleanup(struct kunit *test, in kunit_run_case_cleanup() argument
349 suite->exit(test); in kunit_run_case_cleanup()
351 kunit_case_internal_cleanup(test); in kunit_run_case_cleanup()
355 struct kunit *test; member
363 struct kunit *test = ctx->test; in kunit_try_run_case() local
367 current->kunit_test = test; in kunit_try_run_case()
374 kunit_run_case_internal(test, suite, test_case); in kunit_try_run_case()
376 kunit_run_case_cleanup(test, suite); in kunit_try_run_case()
382 struct kunit *test = ctx->test; in kunit_catch_run_case() local
384 int try_exit_code = kunit_try_catch_get_result(&test->try_catch); in kunit_catch_run_case()
387 kunit_set_failure(test); in kunit_catch_run_case()
393 kunit_err(test, "test case timed out\n"); in kunit_catch_run_case()
399 kunit_err(test, "internal error occurred preventing test case from running: %d\n", in kunit_catch_run_case()
409 kunit_run_case_cleanup(test, suite); in kunit_catch_run_case()
418 struct kunit *test) in kunit_run_case_catch_errors() argument
423 kunit_init_test(test, test_case->name, test_case->log); in kunit_run_case_catch_errors()
424 try_catch = &test->try_catch; in kunit_run_case_catch_errors()
427 test, in kunit_run_case_catch_errors()
430 context.test = test; in kunit_run_case_catch_errors()
436 if (test->status == KUNIT_FAILURE) in kunit_run_case_catch_errors()
438 else if (test_case->status != KUNIT_FAILURE && test->status == KUNIT_SUCCESS) in kunit_run_case_catch_errors()
503 struct kunit test = { .param_value = NULL, .param_index = 0 }; in kunit_run_tests() local
510 test.param_value = test_case->generate_params(NULL, param_desc); in kunit_run_tests()
514 kunit_run_case_catch_errors(suite, test_case, &test); in kunit_run_tests()
519 "param-%d", test.param_index); in kunit_run_tests()
522 kunit_log(KERN_INFO, &test, in kunit_run_tests()
526 kunit_status_to_ok_not_ok(test.status), in kunit_run_tests()
527 test.param_index + 1, param_desc); in kunit_run_tests()
531 test.param_value = test_case->generate_params(test.param_value, param_desc); in kunit_run_tests()
532 test.param_index++; in kunit_run_tests()
535 kunit_update_stats(&param_stats, test.status); in kunit_run_tests()
537 } while (test.param_value); in kunit_run_tests()
539 kunit_print_test_stats(&test, param_stats); in kunit_run_tests()
541 kunit_print_ok_not_ok(&test, true, test_case->status, in kunit_run_tests()
544 test.status_comment); in kunit_run_tests()
597 int kunit_add_resource(struct kunit *test, in kunit_add_resource() argument
617 spin_lock_irqsave(&test->lock, flags); in kunit_add_resource()
618 list_add_tail(&res->node, &test->resources); in kunit_add_resource()
620 spin_unlock_irqrestore(&test->lock, flags); in kunit_add_resource()
626 int kunit_add_named_resource(struct kunit *test, in kunit_add_named_resource() argument
638 existing = kunit_find_named_resource(test, name); in kunit_add_named_resource()
646 return kunit_add_resource(test, init, free, res, data); in kunit_add_named_resource()
650 struct kunit_resource *kunit_alloc_and_get_resource(struct kunit *test, in kunit_alloc_and_get_resource() argument
663 ret = kunit_add_resource(test, init, free, res, data); in kunit_alloc_and_get_resource()
676 void kunit_remove_resource(struct kunit *test, struct kunit_resource *res) in kunit_remove_resource() argument
680 spin_lock_irqsave(&test->lock, flags); in kunit_remove_resource()
682 spin_unlock_irqrestore(&test->lock, flags); in kunit_remove_resource()
687 int kunit_destroy_resource(struct kunit *test, kunit_resource_match_t match, in kunit_destroy_resource() argument
690 struct kunit_resource *res = kunit_find_resource(test, match, in kunit_destroy_resource()
696 kunit_remove_resource(test, res); in kunit_destroy_resource()
727 void *kunit_kmalloc_array(struct kunit *test, size_t n, size_t size, gfp_t gfp) in kunit_kmalloc_array() argument
735 return kunit_alloc_resource(test, in kunit_kmalloc_array()
743 void kunit_kfree(struct kunit *test, const void *ptr) in kunit_kfree() argument
747 res = kunit_find_resource(test, kunit_resource_instance_match, in kunit_kfree()
754 kunit_remove_resource(test, res); in kunit_kfree()
761 void kunit_cleanup(struct kunit *test) in kunit_cleanup() argument
776 spin_lock_irqsave(&test->lock, flags); in kunit_cleanup()
777 if (list_empty(&test->resources)) { in kunit_cleanup()
778 spin_unlock_irqrestore(&test->lock, flags); in kunit_cleanup()
781 res = list_last_entry(&test->resources, in kunit_cleanup()
789 spin_unlock_irqrestore(&test->lock, flags); in kunit_cleanup()
790 kunit_remove_resource(test, res); in kunit_cleanup()