void TestSuite::RunUnitTests(ITestCallback* callback) { callback->BeginTestSuite(this); UnitTests::iterator it = mUnitTests.begin(); UnitTests::iterator end = mUnitTests.end(); for(;it != end; ++it) { UnitTest* test = *it; callback->BeginUnitTest(this, test); try { test->Run(this); } catch(TestException e) { callback->TestFailure(this, test, e.File.c_str(), e.Message.c_str(), e.Line); }/* catch(glmock::IValidationException e) { for(unsigned int i = 0; i < e.Count; ++i) { char tmp[512]; sprintf(tmp, "'%s' when calling '%s'", e.Errors[i].Error, e.Errors[i].Command); callback->TestFailure(this, test, test->File.c_str(), tmp, test->Line); } }*/ callback->EndUnitTest(this, test); } callback->EndTestSuite(this); }
void UnitTest::DoAll(const char *test_name) { UnitTest *test = First; Time_struct Time; int n = 0; while(test) { if(!test_name || ToLower(test->Test.Name.c_str()).find(ToLower(test_name)) != string::npos) { test->Run(); n++; } test = test->Next; } cout << "Tests done " << n << " test time " << Time << "\n"; }
void TestSuite::runUnitTests(ITestCallback* callback) { callback->beginTestSuite(this); UnitTests::iterator it = mUnitTests.begin(); UnitTests::iterator end = mUnitTests.end(); for(;it != end; ++it) { UnitTest* test = *it; callback->beginUnitTest(this, test); try { test->Run(this); } catch(TestException e) { callback->testFailure(this, test, e.File.c_str(), e.Message.c_str(), e.Line); } callback->endUnitTest(this, test); } callback->endTestSuite(this); }