Beispiel #1
0
void rank_repo(GBDT * g){
    double train_auc = auc(y_rowns(g), y_model(g), y_label(g));
    fprintf(stderr, "current tree size : %4d, train_auc : %.8f", t_size(g), train_auc);
    if (has_test(g) == 1){
        double test_auc  = auc(t_rowns(g), t_model(g), t_label(g));
        fprintf(stderr, " test_auc : %.8f", test_auc);
    }
    fprintf(stderr, "\n");
}
Beispiel #2
0
void lr_repo(GBDT * g){
    double train_auc = auc(y_rowns(g), y_model(g), y_label(g));
    printf("current tree size : %4d, train_auc : %.3f", t_size(g), train_auc);
    if (has_test(g) == 1){
        double test_auc  = auc(t_rowns(g), t_model(g), t_label(g));
        printf(" test_auc : %.3f", test_auc);
    }
    printf("\n");
}
Beispiel #3
0
static int has_test(TestSuite *suite, char *name) {
	int i;
	for (i = 0; i < suite->size; i++) {
        if (suite->tests[i].type == test_function) {
            if (strcmp(suite->tests[i].name, name) == 0) {
                return 1;
            }
        } else if (has_test(suite->tests[i].suite, name)) {
            return 1;
        }
	}
	return 0;
}
Beispiel #4
0
static void run_named_test(TestSuite *suite, const char *name, TestReporter *reporter) {
    int i;
    (*reporter->start_suite)(reporter, suite->name, count_tests(suite));
    for (i = 0; i < suite->size; i++) {
        if (suite->tests[i].type == test_function) {
            if (strcmp(suite->tests[i].name, name) == 0) {
                run_test_in_the_current_process(suite, suite->tests[i].Runnable.test, reporter);
            }
        } else if (has_test(suite->tests[i].Runnable.suite, name)) {
            (*suite->setup)();
            run_named_test(suite->tests[i].Runnable.suite, name, reporter);
            (*suite->teardown)();
        }
    }
    send_reporter_completion_notification(reporter);
    (*reporter->finish_suite)(reporter, suite->filename, suite->line);
}
static void run_named_test_child(TestSuite *suite, const char *name, TestReporter *reporter) {
    int i;
    //(*reporter->start_suite)(reporter, suite->name, count_tests(suite));
    for (i = 0; i < suite->size; i++) {
        if (suite->tests[i].type == test_function) {
            if (strcmp(suite->tests[i].name, name) == 0) {
                run_test_in_the_current_process_child(suite, suite->tests[i].Runnable.test, reporter);
            }
        } else if (has_test(suite->tests[i].Runnable.suite, name)) {
            TestSuite* newSuite=suite->tests[i].Runnable.suite;
            (*suite->setup)();
            //moved recursive calls to start_suite and finish_suite to the caller, so I
            //can control the printf that occurs in the first one.
            //This may have undesireable side effects.  Not sure of the best solution
            (*reporter->start_suite)(reporter, newSuite->name, count_tests(newSuite));
            run_named_test_child(newSuite, name, reporter);
            (*reporter->finish_suite)(reporter, newSuite->filename, newSuite->line);
            (*suite->teardown)();
        }
    }
    send_reporter_completion_notification(reporter);
}
Beispiel #6
0
static void run_named_test(TestSuite *suite, const char *name, TestReporter *reporter) {
    int i;
    uint32_t test_duration;
    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 (strcmp(suite->tests[i].name, name) == 0) {
                run_test_in_the_current_process(suite, suite->tests[i].Runnable.test, reporter);
            }
        } else if (has_test(suite->tests[i].Runnable.suite, name)) {
            (*suite->setup)();
            run_named_test(suite->tests[i].Runnable.suite, name, 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);
}