TestReporter *create_text_reporter(void) { TextMemo *memo; TestReporter *reporter = create_reporter(); if (reporter == NULL) { return NULL; } memo = (TextMemo *)malloc(sizeof(TextMemo)); if (memo == NULL) { destroy_reporter(reporter); return NULL; } reporter->memo = memo; reporter->start_suite = &text_reporter_start_suite; reporter->start_test = &text_reporter_start_test; reporter->show_fail = &show_fail; reporter->show_incomplete = &show_incomplete; reporter->finish_test = &text_reporter_finish; reporter->finish_suite = &text_reporter_finish_suite; set_text_reporter_printer(reporter, printf); return reporter; }
TestReporter *create_cute_reporter(void) { CuteMemo *memo; TestReporter *reporter; reporter = create_reporter(); if (reporter == NULL) { return NULL; } memo = (CuteMemo *) malloc(sizeof(CuteMemo) + 100); if (memo == NULL) { destroy_reporter(reporter); return NULL; } reporter->memo = memo; set_cute_reporter_printer(reporter, printf); reporter->start_suite = &cute_start_suite; reporter->start_test = &cute_start_test; reporter->show_fail = &show_fail; reporter->show_pass = &show_pass; reporter->show_incomplete = &cute_failed_to_complete; reporter->finish_test = &cute_finish_test; reporter->finish_suite = &cute_finish_suite; reporter->memo = memo; return reporter; }
TestReporter *create_cute_reporter(void) { CuteMemo *memo; TestReporter *reporter; reporter = create_reporter(); if (reporter == NULL) { return NULL; } memo = (CuteMemo *) malloc(sizeof(CuteMemo) + 100); if (memo == NULL) { destroy_reporter(reporter); return NULL; } memo->printer = printf; reporter->start_suite = &cute_reporter_suite_started; reporter->start_test = &cute_reporter_testcase_started; reporter->show_fail = &assert_failed; reporter->show_pass = &assert_passed; reporter->show_incomplete = &testcase_failed_to_complete; reporter->finish_test = &cute_reporter_testcase_finished; reporter->finish_suite = &cute_reporter_suite_finished; reporter->memo = memo; return reporter; }
TestReporter *create_text_reporter(void) { TestReporter *reporter = create_reporter(); if (reporter == NULL) { return NULL; } reporter->start_suite = &text_reporter_start_suite; reporter->start_test = &text_reporter_start_test; reporter->show_fail = &show_fail; reporter->show_incomplete = &show_incomplete; reporter->finish_test = &text_reporter_finish; reporter->finish_suite = &text_reporter_finish_suite; return reporter; }
TestReporter *create_cdash_reporter(CDashInfo *info) { TestReporter *reporter; CDashMemo *memo; FILE *fd; char sbuildstamp[15]; char strstart[30]; char reporter_path[255]; int rep_dir, strsize; if (!info) return NULL; reporter = create_reporter(); if (!reporter) return NULL; memo = (CDashMemo *) calloc(1, sizeof(CDashMemo)); if (!memo) return NULL; memo->info = info; memo->printer = fprintf; memo->begin = cdash_build_stamp(sbuildstamp, 15); rep_dir = mkdir("./Testing", S_IXUSR|S_IRUSR|S_IWUSR|S_IXGRP|S_IRGRP|S_IXOTH); if (rep_dir) { if (errno != EEXIST) { free(memo); return NULL; } } fd = fopen("./Testing/TAG", "w+"); if (fd == NULL) { free(memo); return NULL; } fprintf(fd, "%s\n%s\n", sbuildstamp, memo->info->type); fclose(fd); strsize = snprintf(reporter_path, sizeof(reporter_path) - 1, "./Testing/%s", sbuildstamp); rep_dir = mkdir(reporter_path, S_IXUSR|S_IRUSR|S_IWUSR|S_IXGRP|S_IRGRP|S_IXOTH); if (rep_dir) { if (errno != EEXIST) { free(memo); return NULL; } } snprintf( (char *) (reporter_path + strsize), (255 - strsize), "/Test.xml"); fd = fopen(reporter_path, "w+"); if (fd == NULL) { free(memo); return NULL; } /* now the Test.xml is in place */ memo->stream = fd; memo->startdatetime = cdash_current_time(strstart); memo->printer(memo->stream, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" " <Site BuildName=\"%s\" BuildStamp=\"%s-%s\" Name=\"%s\" Generator=\"%s\"\n" " OSName=\"%s\" Hostname=\"%s\" OSRelease=\"%s\"\n" " OSVersion=\"%s\" OSPlatform=\"%s\"\n" " Is64Bits=\"\" VendorString=\"\" VendorID=\"\"\n" " FamilyID=\"\" ModelID=\"\" ProcessorCacheSize=\"\" NumberOfLogicalCPU=\"\"\n" " NumberOfPhysicalCPU=\"\" TotalVirtualMemory=\"\" TotalPhysicalMemory=\"\"\n" " LogicalProcessorsPerPhysical=\"\" ProcessorClockFrequency=\"\" >\n" " <Testing>\n" " <StartDateTime>%s</StartDateTime>\n" " <TestList>\n" " <Test></Test>\n" " </TestList>\n", memo->info->build, sbuildstamp, memo->info->type, memo->info->name, "Cgreen1.0.0", memo->info->os_name, memo->info->hostname, memo->info->os_release, memo->info->os_version, memo->info->os_platform, strstart); fflush(memo->stream); reporter->destroy = &cdash_destroy_reporter; reporter->start_suite = &cdash_reporter_start_suite; reporter->start_test = &cdash_reporter_start_test; reporter->show_fail = &cdash_show_fail; reporter->show_pass = &cdash_show_pass; reporter->show_incomplete = &show_incomplete; reporter->finish_test = &cdash_finish_test; reporter->finish_suite = &cdash_finish_suite; reporter->memo = memo; return reporter; }