Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
}