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"); }
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"); }
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; }
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); }
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); }