14 extern BOOL g_bRunningFromUNICODEFolder;
32 virtual void SetUp() = 0;
35 virtual void TearDown() = 0;
38 virtual void GetSuiteInfo(std::string& sName, std::string& sDescription) = 0;
41 virtual void DoWithMyTests(eAction action, std::vector<std::string>& test_list) = 0;
44 bool Run(std::set<std::string>& SuitesToRun);
47 virtual std::vector<std::string> GetTestList(std::set<std::string>& SuitesToRun,
bool bIncludeChildren =
false);
56 UINT GetChildSuiteCount();
65 std::vector<std::string> GetErrorList(
bool bIncludeChildren =
false);
70 void AddErrorMsg(
const char* szFunction,
const char* szAssertion,
const char* szMsg, ...);
74 bool BeforeTest(
const char* szFunction);
75 void AfterTest(
const char* szFunction);
80 std::vector<CTestSuite*> m_apChildSuites;
81 std::vector<std::string> m_asErrorMsg;
82 bool m_bSuiteSetUpFailed;
86 #define BEGIN_TEST_MAP( TestSuite , Description)\ 87 virtual void GetSuiteInfo(std::string& sName, std::string& sDescription)\ 89 sName = std::string( #TestSuite );\ 90 sDescription = std::string( Description );\ 92 virtual void DoWithMyTests(eAction action, std::vector<std::string>& test_list)\ 95 #define REGISTER_TEST( Test )\ 96 if(action==GET_NAMES)\ 97 test_list.push_back( #Test );\ 100 if(BeforeTest( #Test ))\ 105 #define END_TEST_MAP() } 112 UNREFERENCED_PARAMETER(test_list);
113 UNREFERENCED_PARAMETER(action);
125 virtual void TearDown()
148 #define TEST_ASSERT(expr)\ 149 if(!(expr)) { g_pCurTestSuite->AddErrorMsg(__FUNCTION__, #expr, NULL); \ 152 #define TEST_ASSERT_MSG(expr, ...)\ 153 if(!(expr)) { g_pCurTestSuite->AddErrorMsg((__FUNCTION__), (#expr), __VA_ARGS__); \ 156 #define __TEST_CLEANUP__ test_cleanup: 166 CTestSuite* pTopSuite = pRegistry->GetTopSuite();
168 pSuite->SetParentSuite(pTopSuite);
169 pTopSuite->AddChildSuite(pSuite);
173 #define REGISTER_TEST_SUITE( Suite ) CTestSuiteRegistrator<Suite> __reg_##Suite;