summaryrefslogtreecommitdiff
path: root/include/cppunit/ui/text
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-10 14:22:30 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-10 14:22:30 +0000
commit6c2d743aed2eb4c0a960edaadc7366faa3b24c5c (patch)
treeb41f82e9b41c48e9dcb1cc59833dff26e88817d7 /include/cppunit/ui/text
parent0e44bc8d5fa467b9d1c835b2e40b17f538e4bbe3 (diff)
downloadcppunit-6c2d743aed2eb4c0a960edaadc7366faa3b24c5c.tar.gz
Include/cppunitui/: moved to include/cppunit/ui (fix unix install problem).
include/cppunitui/: moved to include/cppunit/ui (fix unix install problem). * doc/cookbook.dox: * examples/cppunittest/CppUnitTestMain.cpp: * examples/msvc/CppUnitTestApp/HostApp.cpp: * examples/msvc/HostApp/HostApp.cpp: * examples/qt/Main.Cpp: * examples/src/cppunit/TestRunner.cpp: * examples/src/msvc6/TestRunner/TestRunner.cpp: * examples/src/qttestrunner/TestRunner.cpp: updated to use <cppunit/ui/...> instead of <cppunitui/...> in include directives. * doc/CppUnit-win.dox: generated documentation give the include path at the bottom of the page for each class. * NEWS: added compatibility break for 1.7.10 users.
Diffstat (limited to 'include/cppunit/ui/text')
-rw-r--r--include/cppunit/ui/text/TestRunner.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/include/cppunit/ui/text/TestRunner.h b/include/cppunit/ui/text/TestRunner.h
new file mode 100644
index 0000000..6bfa6c9
--- /dev/null
+++ b/include/cppunit/ui/text/TestRunner.h
@@ -0,0 +1,103 @@
+#ifndef CPPUNITUI_TEXT_TESTRUNNER_H
+#define CPPUNITUI_TEXT_TESTRUNNER_H
+
+#include <cppunit/Portability.h>
+#include <string>
+#include <vector>
+
+namespace CppUnit {
+
+class Outputter;
+class Test;
+class TestSuite;
+class TextOutputter;
+class TestResult;
+class TestResultCollector;
+
+namespace TextUi
+{
+
+/*!
+ * \brief A text mode test runner.
+ * \ingroup WritingTestResult
+ * \ingroup ExecutingTest
+ *
+ * The test runner manage the life cycle of the added tests.
+ *
+ * The test runner can run only one of the added tests or all the tests.
+ *
+ * TestRunner prints out a trace as the tests are executed followed by a
+ * summary at the end. The trace and summary print are optional.
+ *
+ * Here is an example of use:
+ *
+ * \code
+ * CppUnit::TextUi::TestRunner runner;
+ * runner.addTest( ExampleTestCase::suite() );
+ * runner.run( "", true ); // Run all tests and wait
+ * \endcode
+ *
+ * The trace is printed using a TextTestProgressListener. The summary is printed
+ * using a TextOutputter.
+ *
+ * You can specify an alternate Outputter at construction
+ * or later with setOutputter().
+ *
+ * After construction, you can register additional TestListener to eventManager(),
+ * for a custom progress trace, for example.
+ *
+ * \code
+ * CppUnit::TextUi::TestRunner runner;
+ * runner.addTest( ExampleTestCase::suite() );
+ * runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter(
+ * &runner.result(),
+ * std::cerr ) );
+ * MyCustomProgressTestListener progress;
+ * runner.eventManager().addListener( &progress );
+ * runner.run( "", true ); // Run all tests and wait
+ * \endcode
+ *
+ * \see CompilerOutputter, XmlOutputter, TextOutputter.
+ */
+class CPPUNIT_API TestRunner
+{
+public:
+ TestRunner( Outputter *outputter =NULL );
+
+ virtual ~TestRunner();
+
+ bool run( std::string testName ="",
+ bool doWait = false,
+ bool doPrintResult = true,
+ bool doPrintProgress = true );
+
+ void addTest( Test *test );
+
+ void setOutputter( Outputter *outputter );
+
+ TestResultCollector &result() const;
+
+ TestResult &eventManager() const;
+
+protected:
+ virtual bool runTest( Test *test,
+ bool doPrintProgress );
+ virtual bool runTestByName( std::string testName,
+ bool printProgress );
+ virtual void wait( bool doWait );
+ virtual void printResult( bool doPrintResult );
+
+ virtual Test *findTestByName( std::string name ) const;
+
+ TestSuite *m_suite;
+ TestResultCollector *m_result;
+ TestResult *m_eventManager;
+ Outputter *m_outputter;
+};
+
+
+} // namespace TextUi
+
+} // namespace CppUnit
+
+#endif // CPPUNITUI_TEXT_TESTRUNNER_H