m_watch.Start();
}
- virtual void addFailure(const CppUnit::TestFailure& failure) {
+ virtual void addFailure(const CppUnit::TestFailure& failure)
+ {
m_result = failure.isError() ? RESULT_ERROR : RESULT_FAIL;
}
}
protected :
- enum ResultType {
+ enum ResultType
+ {
RESULT_OK = 0,
RESULT_FAIL,
- RESULT_ERROR
+ RESULT_ERROR,
+ RESULT_MAX
};
- wxString GetResultStr(ResultType type) const {
- static const wxChar* ResultTypeNames[] = {
- wxT("OK"),
- wxT(" F"),
- wxT("ER")
+ wxString GetResultStr(ResultType type) const
+ {
+ static const char *resultTypeNames[] =
+ {
+ " OK",
+ "FAIL",
+ " ERR"
};
- wxCHECK_MSG(static_cast<size_t>(type) < WXSIZEOF(ResultTypeNames),
- ResultTypeNames[RESULT_ERROR], "invalid entry type");
- return ResultTypeNames[type];
+
+ wxCOMPILE_TIME_ASSERT( WXSIZEOF(resultTypeNames) == RESULT_MAX,
+ ResultTypeNamesMismatch );
+
+ return resultTypeNames[type];
}
bool m_timing;
//
int TestApp::OnRun()
{
+#if wxUSE_LOG
+ // Switch off logging unless --verbose
+ bool verbose = wxLog::GetVerbose();
+ wxLog::EnableLogging(verbose);
+#else
+ bool verbose = false;
+#endif
+
CppUnit::TextTestRunner runner;
for (size_t i = 0; i < m_registries.size(); i++)
{
wxString reg = m_registries[i];
- if (!reg.empty() && !reg.EndsWith("TestCase"))
- reg += "TestCase";
// allow the user to specify the name of the testcase "in short form"
// (all wx test cases end with TestCase postfix)
+ if (!reg.empty() && !reg.EndsWith("TestCase"))
+ reg += "TestCase";
+
+ string stdreg(reg.mb_str());
auto_ptr<Test> test(reg.empty() ?
TestFactoryRegistry::getRegistry().makeTest() :
- TestFactoryRegistry::getRegistry(string(reg.mb_str())).makeTest());
+ TestFactoryRegistry::getRegistry(stdreg).makeTest());
TestSuite *suite = dynamic_cast<TestSuite*>(test.get());
if (suite && suite->countTestCases() == 0)
- wxLogError(_T("No such test suite: %s"), reg);
+ cerr << "No such test suite: " << stdreg << endl;
else if (m_list)
List(test.get());
else
runner.setOutputter(new CppUnit::CompilerOutputter(&runner.result(), cout));
-#if wxUSE_LOG
- // Switch off logging unless --verbose
- bool verbose = wxLog::GetVerbose();
- wxLog::EnableLogging(verbose);
-#else
- bool verbose = false;
-#endif
-
// there is a bug
// (http://sf.net/tracker/index.php?func=detail&aid=1649369&group_id=11795&atid=111795)
// in some versions of cppunit: they write progress dots to cout (and not