Lines Matching refs:testcase
154 class TestCase {
156 TestCase() {} // For std::vector<TestCase>.
157 explicit TestCase(const char* name) : name_(name) {}
244 static bool EnumerateTests(int argc, char** argv, std::vector<TestCase>& testcase_list) {
281 testcase_list.push_back(TestCase(start));
293 static void OnTestIterationStartPrint(const std::vector<TestCase>& testcase_list, size_t iteration,
302 for (const auto& testcase : testcase_list) {
303 test_count += testcase.TestCount();
315 static void OnTestEndPrint(const TestCase& testcase, size_t test_id) {
317 printf("%s\n", testcase.GetTestName(test_id).c_str());
319 const std::string& test_output = testcase.GetTest(test_id).GetTestOutput();
322 TestResult result = testcase.GetTestResult(test_id);
328 printf("%s", testcase.GetTestName(test_id).c_str());
330 printf(" (%" PRId64 " ms)", testcase.GetTestTime(test_id) / 1000000);
338 static void OnTestEndPrint(const TestCase& testcase, size_t test_id) {
339 TestResult result = testcase.GetTestResult(test_id);
348 printf("%s", testcase.GetTestName(test_id).c_str());
350 printf(" (%" PRId64 " ms)", testcase.GetTestTime(test_id) / 1000000);
354 const std::string& test_output = testcase.GetTest(test_id).GetTestOutput();
361 static void OnTestIterationEndPrint(const std::vector<TestCase>& testcase_list, size_t /*iteration*/,
373 for (const auto& testcase : testcase_list) {
374 test_count += testcase.TestCount();
375 for (size_t i = 0; i < testcase.TestCount(); ++i) {
376 TestResult result = testcase.GetTestResult(i);
380 fail_test_name_list.push_back(testcase.GetTestName(i));
382 timeout_test_list.push_back(std::make_pair(testcase.GetTestName(i),
383 testcase.GetTestTime(i)));
386 testcase.GetTestTime(i) / 1000000 >= GetWarnlineInfo(testcase.GetTestName(i))) {
387 slow_test_list.push_back(std::make_tuple(testcase.GetTestName(i),
388 testcase.GetTestTime(i),
389 GetWarnlineInfo(testcase.GetTestName(i))));
486 const std::vector<TestCase>& testcase_list,
500 auto& testcase = testcase_list[i];
501 total_test_count += testcase.TestCount();
502 for (size_t j = 0; j < testcase.TestCount(); ++j) {
503 if (testcase.GetTestResult(j) != TEST_SUCCESS) {
506 elapsed_time_list[i] += testcase.GetTestTime(j);
522 auto& testcase = testcase_list[i];
524 testcase.GetName().c_str(), testcase.TestCount(), failed_count_list[i]);
527 for (size_t j = 0; j < testcase.TestCount(); ++j) {
528 fprintf(fp, " <testcase name=\"%s\" status=\"run\" time=\"%.3lf\" classname=\"%s\"",
529 testcase.GetTest(j).GetName().c_str(), testcase.GetTestTime(j) / 1e9,
530 testcase.GetName().c_str());
531 if (testcase.GetTestResult(j) == TEST_SUCCESS) {
535 const std::string& test_output = testcase.GetTest(j).GetTestOutput();
539 fputs(" </testcase>\n", fp);
657 static void HandleSignals(std::vector<TestCase>& testcase_list,
713 static void ReadChildProcOutput(std::vector<TestCase>& testcase_list,
716 TestCase& testcase = testcase_list[child_proc.testcase_id];
723 testcase.GetTest(test_id).AppendTestOutput(buf);
737 static void WaitChildProcs(std::vector<TestCase>& testcase_list,
787 static void CollectChildTestResult(const ChildProcInfo& child_proc, TestCase& testcase) {
789 testcase.SetTestTime(test_id, child_proc.end_time_ns - child_proc.start_time_ns);
798 testcase.SetTestResult(test_id, TEST_TIMEOUT);
801 testcase.GetTestName(test_id).c_str(), testcase.GetTestTime(test_id) / 1000000);
802 testcase.GetTest(test_id).AppendTestOutput(buf);
806 testcase.SetTestResult(test_id, TEST_FAILED);
809 testcase.GetTestName(test_id).c_str(), strsignal(WTERMSIG(child_proc.exit_status)));
810 testcase.GetTest(test_id).AppendTestOutput(buf);
814 testcase.SetTestResult(test_id, exitcode == 0 ? TEST_SUCCESS : TEST_FAILED);
818 testcase.GetTestName(test_id).c_str(), exitcode);
819 testcase.GetTest(test_id).AppendTestOutput(buf);
827 static bool RunTestInSeparateProc(int argc, char** argv, std::vector<TestCase>& testcase_list,
882 TestCase& testcase = testcase_list[testcase_id];
884 CollectChildTestResult(child_proc, testcase);
885 OnTestEndPrint(testcase, test_id);
887 if (++finished_test_count_list[testcase_id] == testcase.TestCount()) {
890 if (testcase.GetTestResult(test_id) != TEST_SUCCESS) {
1143 std::vector<TestCase> testcase_list;