📄 test_main.cpp
字号:
/* * Copyright (c) 2003, 2004 * Zdenek Nemec * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * * Permission to use or copy this software for any purpose is hereby granted * without fee, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. * */#include "cppunit_proxy.h"#include "file_reporter.h"#include "cppunit_timer.h"#include "stdio.h"#if 0namespace CPPUNIT_NS{#endif int TestCase::m_numErrors = 0; int TestCase::m_numTests = 0; TestCase *TestCase::m_root = 0; Reporter *TestCase::m_reporter = 0; void TestCase::registerTestCase(TestCase *in_testCase) { in_testCase->m_next = m_root; m_root = in_testCase; } int TestCase::run(Reporter *in_reporter, const char *in_testName, bool invert) { TestCase::m_reporter = in_reporter; m_numErrors = 0; m_numTests = 0; TestCase *tmp = m_root; while (tmp != 0) { tmp->myRun(in_testName, invert); tmp = tmp->m_next; } return m_numErrors; }#if 0}#endifstatic void usage(const char* name){ printf("Usage : %s [-t=<class>[::<test>]] [-x=<class>[::<test>]] [-f=<file>]%s\n", name, Timer::supported() ? " [-m]": ""); printf("\t[-t=<class>[::<test>]] : test class or class::test to execute;\n"); printf("\t[-x=<class>[::<test>]] : test class or class::test to exclude from execution;\n"); printf("\t[-f=<file>] : output file"); if (Timer::supported()) printf(";\n\t[-m] : monitor test execution, display time duration for each test\n"); else printf("\n");}int main(int argc, char** argv) { // CppUnit(mini) test launcher // command line option syntax: // test [OPTIONS] // where OPTIONS are // -t=CLASS[::TEST] run the test class CLASS or member test CLASS::TEST // -x=CLASS[::TEST] run all except the test class CLASS or member test CLASS::TEST // -f=FILE save output in file FILE instead of stdout // -m monitor test(s) execution const char *fileName = 0; const char *testName = ""; const char *xtestName = ""; bool doMonitoring = false; for (int i = 1; i < argc; ++i) { if (argv[i][0] == '-') { if (!strncmp(argv[i], "-t=", 3)) { testName = argv[i]+3; continue; } else if (!strncmp(argv[i], "-f=", 3)) { fileName = argv[i]+3; continue; } else if (!strncmp(argv[i], "-x=", 3)) { xtestName = argv[i]+3; continue; } else if (Timer::supported() && !strncmp(argv[i], "-m", 2)) { doMonitoring = true; continue; } } // invalid option, we display normal usage. usage(argv[0]); return 1; } CPPUNIT_NS::Reporter* reporter; if (fileName != 0) reporter = new FileReporter(fileName, doMonitoring); else reporter = new FileReporter(stdout, doMonitoring); int num_errors; if (xtestName[0] != 0) { num_errors = CPPUNIT_NS::TestCase::run(reporter, xtestName, true); } else { num_errors = CPPUNIT_NS::TestCase::run(reporter, testName); } reporter->printSummary(); delete reporter; return num_errors;}// See doc/README.intel for explanation about this code#if defined (STLPORT) && defined (__ICL) && (__ICL >= 900) && \ (_STLP_MSVC_LIB < 1300) && defined (_STLP_USE_DYNAMIC_LIB)# include <exception># undef stdnamespace std{ void _STLP_CALL unexpected() { unexpected_handler hdl; set_unexpected(hdl = set_unexpected((unexpected_handler)0)); hdl(); }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -