summaryrefslogtreecommitdiff
path: root/src/cppunit/TestResult.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Introduce CPPUNIT_PROPAGATE_EXCEPTIONS environment variableStephan Bergmann2022-12-131-1/+3
| | | | | | | | | | | | | Often a developer debugging a failing CppUnit test wants a core dump with the place where an uncaught exception is thrown. So if the newly introduced CPPUNIT_PROPAGATE_EXCEPTIONS environment variable is set (to any value), disable the DefaultProtector that would otherwise catch such exceptions (and just report some limited information about them). Change-Id: Iac0e98837381578759384e45829fb4e2436f450a Reviewed-on: https://gerrit.libreoffice.org/c/cppunit/+/144074 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
* Bug # 51154: cppunit warning cleaningTobias Lippert2013-08-151-1/+2
| | | | | | | | | | | | This patch allows to compile the code with gcc's -Weffc++ It consists mostly of making copy constructors and assignment operators explicit and private, and of initializing all members in initializer lists. Change-Id: I6f1cae812c58e3791c2386a1288501cf2f559610 Reviewed-on: https://gerrit.libreoffice.org/5424 Reviewed-by: Tor Lillqvist <tml@iki.fi> Tested-by: Tor Lillqvist <tml@iki.fi>
* Flush stdout & stderr in TestResult destructor to avoid message loss (bug ↵Baptiste Lepilleur2009-11-241-0/+3
| | | | #2832029)
* Include/cppunit/tools/Algorithm.Baptiste Lepilleur2003-03-111-6/+6
| | | | | | | | | | | | | | include/cppunit/tools/Algorithm.h: * src/cppunit/TestResult.cpp: * src/msvc6/testrunner/TestRunnerModel.cpp: added removeFromSequence algorithm in Algorithm.h to fix STLPort compatibility issue (std::remove use the one of cstdio instead of algorithm). Bug #694971. * include/cppunit/extensions/TestNamer.h: fixed bug #662666 (missing include for typeinfo). * src/cppunit/TestResult.cpp: TestFailure are no longer passed as temporary, but explicitely instantiated on the stack. Work around AIX compiler bug.
* Include/cppunit/TestResult.Baptiste Lepilleur2002-08-291-0/+9
| | | | | include/cppunit/TestResult.h: * src/cppunit/TestResult.cpp: fixed shouldStop() bug.
* Include/cppunit/CompilerOutputter.Baptiste Lepilleur2002-08-291-30/+0
| | | | | | | | | | | | | | | | | | | | | | | include/cppunit/CompilerOutputter.h: * include/cppunit/Exception.h: * include/cppunit/Protector.h: * include/cppunit/TestListener.h: * include/cppunit/TestPath.h: * include/cppunit/TestResult.h: * include/cppunit/TestRunner.h: * include/cppunit/XmlOutputter.h: * include/cppunit/plugin/DynamicLibraryManager.h: * include/cppunit/plugin/PlugInManager.h: * include/cppunit/plugin/PlugInParameters.h: * include/cppunit/TestPlugIn.h: * src/cppunit/DefaultProtector.h: * src/cppunit/ProtectorChain.h: * src/cppunit/ProtectorContext.h: * src/cppunit/TestCase.cpp: * src/cppunit/TestResult.cpp: fixed a dew documentation bugs. * include/cppunit/TestResult.h: * src/cppunit/TestResult.cpp: moved documentation to header.
* Include/cppunit/Exception.Baptiste Lepilleur2002-08-031-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include/cppunit/Exception.h: * src/cppunit/Exception.h: added setMessage(). * include/cppunit/Protector.h: * src/cppunit/Protector.cpp: added class ProtectorGuard. Change the reportXXX() method to support Exception passing and SourceLine. * include/cppunit/TestCaller.h: removed 'expect exception' features. It is now handled by ExceptionTestCaseDecorator and TestCaller no longer need default template argument support. * include/cppunit/TestCase.h: * include/cppunit/extensions/TestCaller.h: runTest() is now public instead of protected, so that it can be decorated. * include/cppunit/TestResult.h: * src/cppunit/TestResult.h: added pushProtector() and popProtector() methods. This allow user to specify their own exception trap when running test case. * include/cppunit/extensions/TestDecorator.h: * src/cppunit/TestDecorator.cpp: added. Extracted from TestDecorator.h. The test passed to the constructor is now owned by the decorator. * include/cppunit/extensions/TestCaseDecorator.h: * src/cppunit/TestCaseDecorator.cpp: added. Decorator for TestCase setUp(), tearDown() and runTest(). * include/cppunit/extensions/ExceptionTestCaseDecorator.h: added. TestCaseDecorator to expect that a specific exception is thrown. * include/cppunit/extensions/HelperMacros.h: updated against TestCaller change. * src/cppunit/DefaultFunctor.h: fixed bug (did not return underlying test return code). * src/cppunit/ProtectorChain.cpp: fixed bug in chaing return code. * src/cppunit/DefaultFunctor.h: fixed bug. * src/msvc6/testrunner/ActiveTest.h: * src/msvc6/testrunner/ActiveTest.cpp: updated against TestCaseDecorator ownership policy change. Moved inline functions to .cpp. * examples/cppunittest/TestSetUpTest.cpp: updated to use MockTestCase and against the new ownership policy. * examples/cppunittest/TestDecoratorTest.cpp: * examples/cppunittest/RepeatedTestTest.cpp: updated against TestDecorator ownership policy change. * examples/cppunittest/ExceptionTestCaseDecoratorTest.h: * examples/cppunittest/ExceptionTestCaseDecoratorTest.cpp: added. Unit tests for ExceptionTestCaseDecoratorTest.
* Include/cppunit/Protector.Baptiste Lepilleur2002-07-161-0/+16
| | | | | | | | | | | | | | | | | include/cppunit/Protector.h: * src/cppunit/Protector.cpp: added. Base class for protectors. * src/cppunit/DefaultProtector.h: * src/cppunit/DefaultProtector.cpp: added. Implementation of the default protector used to catch std::exception and any other exception. * src/cppunit/ProtectorChain.h: * src/cppunit/ProtectorChain.cpp: added. Implementation of a chain of protector, allowing catching custom exception and implementation of expected exception. * src/cppunit/TestCase.cpp: * src/cppunit/TestResult.cpp: updated to use protector.
* Include/cppunit/config/Portability.Baptiste Lepilleur2002-07-121-2/+3
| | | | | | | | | | | | | | | | | | | | | include/cppunit/config/Portability.h: If the compiler does not support namespace (CPPUNIT_HAVE_NAMESPACES=0), define CPPUNIT_NO_STD_NAMESPACE and CPPUNIT_NO_NAMESPACE. If CPPUNIT_NO_STD_NAMESPACE is defined, then CppUnit assumes that STL are in the global namespace. If CPPUNIT_NO_NAMESPACE is defined, then CppUnit classes are placed in the global namespace instead of the CppUnit namespace. * include/cppunit/config/config-bcb5.h: * include/cppunit/config/config-msvc6.h: added definition of macro CPPUNIT_HAVE_NAMESPACES. * include/cppunit/tools/StringTools.h: use CPPUNIT_WRAP_COLUMN as default parameter value for wrap(). * include/cppunit/*/*.h: * src/cppunit/*.cpp: changed all CppUnit namespace declaration to use macros CPPUNIT_NS_BEGIN and CPPUNIT_NS_END. Also, changed reference to CppUnit namespace (essentially in macros) using CPPUNIT_NS macro.
* Bumped version to 1.Baptiste Lepilleur2002-04-171-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bumped version to 1.9.3 * FAQ: added question about 4786 warning on VC++. * NEWS: updated. * contrib/msvc/readme.txt: moved to contrib/readme.txt. * contrib/xml-xsl/report.xsl: added XML style sheet contributed by 'cuppa' project team (http://sourceforge.jp/projects/cuppa/) * examples/cppunittest/TestResultTest.h: * examples/cppunittest/TestResultTest.cpp: added tests for startTestRun()/endTestRun(). * examples/simple/*: added. A simple example. * include/cppunit/BriefTestProgressListener.h: * src/cppunit/BriefTestProgressListener.cpp: added. Verbose progess listener that print the test name before running the test. * include/cppunit/TestListener.h: added startTestRun()/endTestRun(). * include/cppunit/TestResult.h: * src/cppunit/TestResult.cpp: added runTest(), to be called to run a test by test runner. * src/cppunit/TextTestRunner.cpp: * src/cppunit/TestRunner.cpp: updated to use TestResult::runTest(). * include/cppunit/plugin/PlugInManager.h: * src/cppunit/PlugInManager.cpp: added. Managers for all loaded plug-ins. * include/cppunit/plugin/TestPlugInDefaultImpl.h: * src/cppunit/TestPlugInDefaultImpl.cpp: renamed TestPlugInAdapter. All implementations are empty. * include/cppunit/plugin/TestPlugInSuite.h: removed. * src/cppunit/TestPlugInSuite.cpp: removed. Replaced by PlugInManager. * include/cppunit/plugin/TestPlugIn.h: rewrote the plug-in interface to provide more versatility. updated macros to match new interface. * include/cppunit/extensions/TestFactoryRegistry.h: * include/cppunit/extensions/TestFactoryRegistry.cpp: Added unregisterFactory(). Added convenience method addRegistry(). Rewrote registry life cycle management. AutoRegisterSuite can now detect that the registry has been destroy and not call to it to unregister its test factory. * include/cppunit/extensions/AutoRegisterTest.h: on destruction, the registered factory is unregistered from the registry. * include/cppunit/extensions/HelperMacros.h: added macros CPPUNIT_REGISTRY_ADD_TO_DEFAULT and CPPUNIT_REGISTRY_ADD to help build test suite hierarchy. * src/cppunit/msvc/DllPlugInTester/*: moved to src/cppunit/DllPlugInTester/. * src/cppunit/DllPlugInTester/DllPlugInTester.cpp: removed UNICODE stuffs. Use the PlugInManager instead of PlugInTestSuite. Simplified: only one test on command line, but many DLL can be specified. Added configurations to link against cppunit dll, those are now the default configuration (static linking don't make much sense for plug-in).
* Include/cppunit/CompilerOutputter.Baptiste Lepilleur2002-04-121-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include/cppunit/CompilerOutputter.h: * src/cppunit/CompilerOutputter.h: deprecated defaultOuputter(). Added setLocationFormat() and format specifiation in constructor. A string that represent the location format is used to output the location. Default format is defined by CPPUNIT_COMPILER_LOCATION_FORMAT. * include/cppunit/config-msvc6.h: * include/cppunit/Portability.h: added CPPUNIT_COMPILER_LOCATION_FORMAT. Use gcc location format if VC++ is not detected. * include/cppunit/Test.h: fixed documentation. * include/cppunit/TestListener.h: added startSuite() and endSuite() callbacks. Added new example to documentation. * include/cppunit/TestResult.h: * src/cppunit/TestResult.cpp: * include/cppunit/TestComposite.h: * src/cppunit/TestComposite.cpp: Updated to inform the listeners. * src/qttestrunner/TestBrowserDlgImpl.cpp: used Test new composite interface instead of RTTI to explore the test hierarchy. * examples/cppunittest/MockTestListener.h: * examples/cppunittest/MockTestListener.cpp: updated,added support for startSuite() and endSuite(). * examples/cppunittest/TestResultTest.h: * examples/cppunittest/TestResultTest.cpp: added tests for startSuite() and endSuite().
* NEW: updated and restructured.Baptiste Lepilleur2002-02-281-103/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEW: updated and restructured. * include/cppunit/CompilerOutputter.h: * src/cppunit/CompilerOutputter.cpp: updated against TestResultChange. Changed TestResult to TestResultCollector. * include/cppunit/extensions/HelperMacros.h: minor documentation fix. * include/cppunit/Outputter.h: added. Abstract base class for all Outputter. * include/cppunit/Portability.h: made the fix on OStringStream suggested by Bob Summerwill to remove level 4 warning with VC++. * include/cppunit/TestAssert.h: added macro CPPUNIT_ASSERT_EQUAL_MESSAGE. * src/cppunit/TestFailure.cpp: * include/cppunit/TestFailure.h: added method clone() to duplicate a failure. Made all method virtual. * include/cppunit/TestListener.h: changed signature of addFailure() to addFailure( const TestFailure &failure ). Failure is now only a temporary object. * include/cppunit/Outputter.h: added. Abstract base class for all outputter. Used by TextTestRunner. * include/cppunit/SynchronizedObject.h: * src/cppunit/SynchronizedObject.cpp: added. Class extracted from TestResult. Base class for objects that can be accessed from different threads. * include/cppunit/TestResult.h: TestFailure.h is no longer included. * include/cppunit/TestResult.h: * src/cppunit/TestResult.cpp: extracted all methods related to keeping track of the result to the new TestResultCollector class which is a TestListener. * include/cppunit/TestResultCollector.h: * src/cppunit/TestResultCollector.cpp: added. TestListener which kept track of the result of the test run. All failure/error, and tests are tracked. * include/cppunit/TestSucessListener.h: * src/cppunit/TestSucessListener.cpp: added. TestListener extracted from TestResult. Is responsible for wasSucessful(). * include/cppunit/TestCase.h: * src/cppunit/TestCase.cpp: reindented. * include/cppunit/TextOutputter.h: * src/cppunit/TextOutputter.cpp: added. Copied from the deprecated TextTestResult and modified to act as an Ouputter. * include/cppunit/TextTestProgressListener.h: * src/cppunit/TextTestProgressListener.cpp: Copied from the deprecated TextTestResult and modified to print the dot while the test are running. * include/cppunit/TextTestResult.h: * src/cppunit/TextTestResult.cpp: updated against TestResult change. No compatiblity break. Deprecated. * include/cppunit/TextTestRunner.h: * src/cppunit/TextTestRunner.cpp: updated to work with the new TestResult. Use TextTestProgressListener and TextOutputter instead of TextTestResult. Any outputter with interface Outputter can be used to print the test result (CompilerOutputter, XmlOutputter, TextOutputter...) * include/cppunit/XmlOutputter.h: * src/cppunit/XmlOutputter.cpp: updated against TestResultChange. Changed TestResult to TestResultCollector. * src/msvc6/TestRunnerDlg.h: * src/msvc6/TestRunnerDlg.cpp: fixed the 'fullrowselect' feature of the list view. The dialog is a TestListener itself, it no longer use the GUITestResult class. * src/msvc6/TestRunner.rc: moved the "autorun test button" in such a way that it did not overlap the progress bar anymore. * src/msvc6/MfcSynchronizationObject.h: added. Generic SynchronizedObject lock for MFC. * src/msvc6/GUITestResult.h : * src/msvc6/GUITestResult.cpp : removed. * src/qttestrunner/TestRunnerModel.h: * src/qttestrunner/TestRunnerModel.cpp: changed addFailure() signature to reflect change on TestListener. * examples/cppunittest/CppUnitTestMain.cpp: updated to use the new Outputter abstraction and TextTestRunner facilities. * examples/cppunittest/FailingTestCase.h: * examples/cppunittest/FailingTestCase.cpp: removed. Replaced by MockTestCase. * examples/cppunittest/FailingTestCase.h: * examples/cppunittest/FailingTestCase.h: * examples/cppunittest/HelperMacrosTest.h: * examples/cppunittest/HelperMacrosTest.cpp: Updated against TestResult change. Use MockTestListener instead of TestResult to check for sucess or failure. * examples/cppunittest/MockTestListener.h: * examples/cppunittest/MockTestListener.cpp: the class now behave like a mock object. * examples/cppunittest/MockTestCase.h: * examples/cppunittest/MockTestCase.cpp: added. Mock TestCase object. * examples/cppunittest/OrthodoxTest.h: * examples/cppunittest/OrthodoxTest.cpp: Updated against TestResult change. Use MockTestListener instead of TestResult to check for sucess or failure. * examples/cppunittest/SynchronizedTestResult.h: Updated against TestResult change. * examples/cppunittest/TestCallerTest.h: * examples/cppunittest/TestCallerTest.cpp: Updated against TestResult change. Use MockTestListener instead of TestResult. * examples/cppunittest/TestCaseTest.h: * examples/cppunittest/TestCaseTest.cpp: Updated against TestResult change. Use MockTestListener and MockTestCase instead of FailingTestCase and TestResult. * examples/cppunittest/TestDecoratorTest.h: * examples/cppunittest/TestDecoratorTest.cpp: Updated against TestResult change. Use MockTestCase instead of FailingTestCase. * examples/cppunittest/TestListenerTest.h: * examples/cppunittest/TestListenerTest.cpp: removed. Those unit tests have been rewrote and moved to TestResultTest. * examples/cppunittest/TestResultTest.h: * examples/cppunittest/TestResultTest.cpp: Updated to test the new interface. Tests from TestListenerTest have been moved here. * examples/cppunittest/TestResultCollectorTest.h: * examples/cppunittest/TestResultCollectorTest.cpp: added. Tests for the class that been extracted from TestResult. * examples/cppunittest/TestSetUpTest.h: * examples/cppunittest/TestSetUpTest.cpp: renamed SetUp inner class to MockSetUp. Changed interface to be more akin to a Mock object. * examples/cppunittest/TestSuiteTest.h: * examples/cppunittest/TestSuiteTest.cpp: Updated against TestResult change, and rewrote to use MockTestCase instead of FailingTestCase. * examples/cppunittest/XmlOutputterTest.h: * examples/cppunittest/XmlOutputterTest.cpp: Updated against TestResult change. Added some utility methods to make the update easier.
* Examples/cppunittest/CppUnitTestMain.Baptiste Lepilleur2001-10-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | examples/cppunittest/CppUnitTestMain.cpp : application returns 0 is test suite run sucessfuly, 1 otherwise. * src/cppunit/Exception.cpp : bug fix, operator =() with VC++. Removed call to std::exception::operator =() which is bugged on VC++. * doc/FAQ : added a note explaining why the test ExceptionTest.testAssignment used to fail. * NEWS : updated and detailed. * include/cppunit/TestResult.h : * src/cppunit/TestResult.cpp : added reset(). * include/cppunit/TextTestRunner.h : * src/cppunit/TextTestRunner.cpp : Constructor take an optional TextTestRestult. The TextTestResult remain alive as long as the runner. Added result() to retreive the result. Printing the result is now optinal (enabled by default).
* NEWS : updated.Baptiste Lepilleur2001-10-051-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEWS : updated. * include/cppunit/Exception.h : added include Portability.h. * include/cppunit/TestResult.* : changed TestFailures to a deque. added tests(). * examples/cppunittest/CppUnitTest.dsp : * examples/cppunittest/MakeFile.am : * examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp : Added XmlTestResultOutputterTest.*, XmlUniformiser.*, XmlUniformiserTest.*, UnitTestToolSuite.h, OutputSuite.h. * examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp : revised project folders structure. Added missing NoteEqualExceptionTest.*. * examples/cppunittest/CppUnitTestSuite.cpp : added 'Output' and 'UnitTestTool' suites. * src/cppunit/cppunit.dsp: removed estring.h. Revised project folders structure. Removed TestRegistry.*. Added TestSetUp.h, XmlTestResultOutputter.*. * src/cppunit/MakeFile.am: added XmlTestResultOutputter.*. * src/testrunner/TestRunnerDlg.cpp: removed disabled code.
* Include/cppunit/TestFailure.Baptiste Lepilleur2001-10-031-61/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include/cppunit/TestFailure.cpp : * include/cppunit/TestFailure.h : fixed some constness issues. Added argument to indicate the type of failure to constructor. Added isError(). * include/cppunit/TestListener.h : removed addError(). addFailure() now take a TestFailure as argument. * include/cppunit/TestResult.h : * include/cppunit/TestResult.cpp : removed errors(). Refactored. Fixed some constness issues. Added typedef TestFailures for vector returned by failures(). failures() returns a const reference on the list of failure. added testFailuresTotal(). Constructor can take an optional synchronization object. * include/cppunit/TextTestResult.h : * include/cppunit/TextTestResult.cpp : removed printErrors(). Refactored. Updated to suit new TestResult, errors and failures are reported in the same list. * examples/cppunittest/TestFailureTest.cpp : * examples/cppunittest/TestFailureTest.h : modified to use the new TestFailure constructor. Added one test. * examples/cppunittest/TestListenerTest.cpp: removed addError(). Refactored to suit new TestListener. * examples/cppunittest/TestResultTest.h : * examples/cppunittest/TestResultTest.cpp : modified to suit the new TestResult.
* Added project cppunittest to examples/: unit tests to test cppunit.Baptiste Lepilleur2001-06-011-14/+94
| | | | | | | | | | added project cppunittest to examples/: unit tests to test cppunit. The main file is CppUnitTestMain.cpp. Unit tests have been implemented for TestCaller and TestListener. * added project CppUnitTestApp to examples/msvc6: graphical runner for cppunittest. * added TestListener to TestResult. It is a port of junit TestListener. * updated some .cvsignore to ignore files generated with VC++.
* Moved files in subdir cppunit to src/cppunit.Bastiaan Bakker2001-04-281-0/+110