static void run_every_test(TestSuite *suite, TestReporter *reporter) { int i; uint32_t test_duration; run_specified_test_if_child(suite, reporter); uint32_t test_starting_milliseconds = cgreen_time_get_current_milliseconds(); (*reporter->start_suite)(reporter, suite->name, count_tests(suite)); for (i = 0; i < suite->size; i++) { if (suite->tests[i].type == test_function) { if (getenv("CGREEN_NO_FORK") == NULL) run_test_in_its_own_process(suite, suite->tests[i].Runnable.test, reporter); else run_test_in_the_current_process(suite, suite->tests[i].Runnable.test, reporter); } else { (*suite->setup)(); run_every_test(suite->tests[i].Runnable.suite, reporter); (*suite->teardown)(); } } test_duration = cgreen_time_duration_in_milliseconds(test_starting_milliseconds, cgreen_time_get_current_milliseconds()); send_reporter_completion_notification(reporter); (*reporter->finish_suite)(reporter, suite->filename, suite->line, test_duration); }
int run_test_suite(TestSuite *suite, TestReporter *reporter) { int success = 0; run_every_test(suite, reporter); success = (reporter->failures == 0); clean_up_test_run(suite, reporter); return success ? EXIT_SUCCESS : EXIT_FAILURE; }
int run_test_suite(TestSuite *suite, TestReporter *reporter) { int success; if (per_test_timeout_defined()) { validate_per_test_timeout_value(); } setup_reporting(reporter); run_every_test(suite, reporter); success = (reporter->failures == 0) && (reporter->exceptions==0); return success ? EXIT_SUCCESS : EXIT_FAILURE; }
static void run_every_test(TestSuite *suite, TestReporter *reporter) { int i = 0; (*reporter->start)(reporter, suite->name); for (i = 0; i < suite->size; i++) { if (suite->tests[i].type == test_function) { run_test_in_its_own_process(suite, &(suite->tests[i]), reporter); } else { (*suite->setup)(); run_every_test(suite->tests[i].suite, reporter); (*suite->teardown)(); } } send_reporter_completion_notification(reporter); (*reporter->finish)(reporter, suite->name); }
static void run_every_test(TestSuite *suite, TestReporter *reporter) { int i; run_specified_test_if_child(suite, reporter); (*reporter->start_suite)(reporter, suite->name, count_tests(suite)); for (i = 0; i < suite->size; i++) { if (suite->tests[i].type == test_function) { run_test_in_its_own_process(suite, suite->tests[i].Runnable.test, reporter); } else { (*suite->setup)(); run_every_test(suite->tests[i].Runnable.suite, reporter); (*suite->teardown)(); } } send_reporter_completion_notification(reporter); (*reporter->finish_suite)(reporter, suite->filename, suite->line); }