diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-10-07 18:37:53 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2001-10-07 18:37:53 +0000 |
| commit | 150339335e3c5538c1e496ae01babf148bd29ec5 (patch) | |
| tree | 9f354aaee81e08c27dc6da0709074babde7672f5 /src/cppunit | |
| parent | 4410db53e88dc5aca9f86abaf9dffccbd5f94471 (diff) | |
| download | cppunit-150339335e3c5538c1e496ae01babf148bd29ec5.tar.gz | |
Include/cppunit/CompilerTestResultOutputter.
include/cppunit/CompilerTestResultOutputter.h :
renamed CompilerOutputter.h
* src/cppunit/CompilerTestResultOutputter.cpp :
renamed CompilerOutputter.cpp
* include/cppunit/CompilerTestResultOutputter.h :
* src/cppunit/CompilerTestResultOutputter.cpp : ajust max line length
for wrapping. Added static factory method defaultOutputter(). Print
the number of test runs on success.
* include/cppunit/CompilerTestResultOutputter.h : renamed
CompilerOutputter.h.
* src/cppunit/CompilerTestResultOutputter.cpp : renamed
CompilerOutputter.cpp.
* examples/cppunittest/CppUnitTestMain.cpp : use factory method
CompilerTestResultOutputter::defaultOutputter().
* src/msvc6/DSPlugIn/DSPlugIn.dsp : removed COM registration in
post-build step. IT is automatically done by VC++ when the add-in is
added. Caused build to failed if the add-in was used in VC++.
* NEWS : updated.
* src/cppunit/TestAssert.cpp : modified deprecated assert
implementations to use Asserter.
* examples/cppunittest/XmlTestResultOutputterTest.h :
renamed XmlOutputterTest.h.
* examples/cppunittest/XmlTestResultOutputterTest.cpp :
renamed XmlOutputterTest.cpp.
* NEWS :
* examples/cppunittest/CppUnitTestMain.cpp :
* examples/cppunittest/CppUnitTestMain.dsp :
* examples/cppunittest/Makefile.am :
* examples/cppunittest/XmlTestResultOutputterTest.h :
* examples/cppunittest/XmlTestResultOutputterTest.cpp :
* examples/msvc6/CppUniTestApp/CppUnitTestApp.dsp
* include/cppunit/CompilerOutputter.h :
* include/cppunit/Makefile.am :
* include/cppunit/XmlTestResultOutputter.h :
* src/cppunit/CompilerOutputter.cpp :
* src/cppunit/cppunit.dsp :
* src/cppunit/Makefile.am :
* src/cppunit/XmlTestResultOutputter.cpp : change due to renaming
CompilerTestResultOutputter to CompilerOutputter,
XmlTestResultOutputter to XmlOuputter, XmlTestResultOutputterTest
to XmlOutputterTest.
Diffstat (limited to 'src/cppunit')
| -rw-r--r-- | src/cppunit/CompilerOutputter.cpp (renamed from src/cppunit/CompilerTestResultOutputter.cpp) | 49 | ||||
| -rw-r--r-- | src/cppunit/Makefile.am | 6 | ||||
| -rw-r--r-- | src/cppunit/TestAssert.cpp | 44 | ||||
| -rw-r--r-- | src/cppunit/XmlOutputter.cpp (renamed from src/cppunit/XmlTestResultOutputter.cpp) | 152 | ||||
| -rw-r--r-- | src/cppunit/cppunit.dsp | 8 |
5 files changed, 134 insertions, 125 deletions
diff --git a/src/cppunit/CompilerTestResultOutputter.cpp b/src/cppunit/CompilerOutputter.cpp index 1c75b49..aee0ef6 100644 --- a/src/cppunit/CompilerTestResultOutputter.cpp +++ b/src/cppunit/CompilerOutputter.cpp @@ -1,7 +1,7 @@ #include <cppunit/NotEqualException.h> #include <cppunit/SourceLine.h> #include <cppunit/TestResult.h> -#include <cppunit/CompilerTestResultOutputter.h> +#include <cppunit/CompilerOutputter.h> namespace CppUnit @@ -21,7 +21,7 @@ namespace CppUnit * bool wasSucessful = runner.run( "", false, !selfTest ); * if ( selfTest ) * { - * CppUnit::CompilerTestResultOutputter outputter( runner.result(), + * CppUnit::CompilerOutputter outputter( runner.result(), * std::cerr ); * outputter.write(); * } @@ -30,7 +30,7 @@ namespace CppUnit * } * \endcode */ -CompilerTestResultOutputter::CompilerTestResultOutputter( +CompilerOutputter::CompilerOutputter( TestResult *result, std::ostream &stream ) : m_result( result ), @@ -39,13 +39,23 @@ CompilerTestResultOutputter::CompilerTestResultOutputter( } -CompilerTestResultOutputter::~CompilerTestResultOutputter() +CompilerOutputter::~CompilerOutputter() { } +CompilerOutputter * +CompilerOutputter::defaultOutputter( TestResult *result, + std::ostream &stream ) +{ + return new CompilerOutputter( result, stream ); +// For automatic adpatation... +// return new CPPUNIT_DEFAULT_OUTPUTTER( result, stream ); +} + + void -CompilerTestResultOutputter::write() +CompilerOutputter::write() { if ( m_result->wasSuccessful() ) printSucess(); @@ -55,14 +65,15 @@ CompilerTestResultOutputter::write() void -CompilerTestResultOutputter::printSucess() +CompilerOutputter::printSucess() { - m_stream << "OK" << std::endl; + m_stream << "OK (" << m_result->runTests() << ")" + << std::endl; } void -CompilerTestResultOutputter::printFailureReport() +CompilerOutputter::printFailureReport() { printFailuresList(); printStatistics(); @@ -70,7 +81,7 @@ CompilerTestResultOutputter::printFailureReport() void -CompilerTestResultOutputter::printFailuresList() +CompilerOutputter::printFailuresList() { for ( int index =0; index < m_result->testFailuresTotal(); ++index) { @@ -80,7 +91,7 @@ CompilerTestResultOutputter::printFailuresList() void -CompilerTestResultOutputter::printFailureDetail( TestFailure *failure ) +CompilerOutputter::printFailureDetail( TestFailure *failure ) { printFailureLocation( failure->sourceLine() ); printFailureType( failure ); @@ -90,7 +101,7 @@ CompilerTestResultOutputter::printFailureDetail( TestFailure *failure ) void -CompilerTestResultOutputter::printFailureLocation( SourceLine sourceLine ) +CompilerOutputter::printFailureLocation( SourceLine sourceLine ) { if ( sourceLine.isValid() ) m_stream << sourceLine.fileName() @@ -101,14 +112,14 @@ CompilerTestResultOutputter::printFailureLocation( SourceLine sourceLine ) void -CompilerTestResultOutputter::printFailureType( TestFailure *failure ) +CompilerOutputter::printFailureType( TestFailure *failure ) { m_stream << (failure->isError() ? "Error" : "Assertion"); } void -CompilerTestResultOutputter::printFailedTestName( TestFailure *failure ) +CompilerOutputter::printFailedTestName( TestFailure *failure ) { m_stream << std::endl; m_stream << "Test name: " << failure->failedTestName(); @@ -116,7 +127,7 @@ CompilerTestResultOutputter::printFailedTestName( TestFailure *failure ) void -CompilerTestResultOutputter::printFailureMessage( TestFailure *failure ) +CompilerOutputter::printFailureMessage( TestFailure *failure ) { m_stream << std::endl; Exception *thrownException = failure->thrownException(); @@ -129,7 +140,7 @@ CompilerTestResultOutputter::printFailureMessage( TestFailure *failure ) void -CompilerTestResultOutputter::printNotEqualMessage( Exception *thrownException ) +CompilerOutputter::printNotEqualMessage( Exception *thrownException ) { NotEqualException *e = (NotEqualException *)thrownException; m_stream << wrap( "- Expected : " + e->expectedValue() ); @@ -145,7 +156,7 @@ CompilerTestResultOutputter::printNotEqualMessage( Exception *thrownException ) void -CompilerTestResultOutputter::printDefaultMessage( Exception *thrownException ) +CompilerOutputter::printDefaultMessage( Exception *thrownException ) { std::string wrappedMessage = wrap( thrownException->what() ); m_stream << wrappedMessage << std::endl; @@ -153,7 +164,7 @@ CompilerTestResultOutputter::printDefaultMessage( Exception *thrownException ) void -CompilerTestResultOutputter::printStatistics() +CompilerOutputter::printStatistics() { m_stream << "Failures !!!" << std::endl; m_stream << "Run: " << m_result->runTests() << " " @@ -165,9 +176,9 @@ CompilerTestResultOutputter::printStatistics() std::string -CompilerTestResultOutputter::wrap( std::string message ) +CompilerOutputter::wrap( std::string message ) { - const int maxLineLength = 60; + const int maxLineLength = 80; std::string wrapped; int index =0; while ( index < message.length() ) diff --git a/src/cppunit/Makefile.am b/src/cppunit/Makefile.am index b7764bd..f601f28 100644 --- a/src/cppunit/Makefile.am +++ b/src/cppunit/Makefile.am @@ -1,5 +1,5 @@ # -# $Id: Makefile.am,v 1.13 2001-10-06 12:03:30 blep Exp $ +# $Id: Makefile.am,v 1.14 2001-10-07 19:36:47 blep Exp $ # EXTRA_DIST = cppunit.dsw cppunit.dsp @@ -9,7 +9,7 @@ lib_LTLIBRARIES = libcppunit.la libcppunit_la_SOURCES = \ Asserter.cpp \ - CompilerTestResultOutputter.cpp \ + CompilerOutputter.cpp \ NotEqualException.cpp \ RepeatedTest.cpp \ SourceLine.cpp \ @@ -24,7 +24,7 @@ libcppunit_la_SOURCES = \ TextTestRunner.cpp \ TestFactoryRegistry.cpp \ TypeInfoHelper.cpp \ - XmlTestResultOutputter.cpp + XmlOutputter.cpp libcppunit_la_LDFLAGS= \ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ diff --git a/src/cppunit/TestAssert.cpp b/src/cppunit/TestAssert.cpp index 802d5e4..b5999e1 100644 --- a/src/cppunit/TestAssert.cpp +++ b/src/cppunit/TestAssert.cpp @@ -13,34 +13,38 @@ namespace CppUnit { #ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED /// Check for a failed general assertion -void TestAssert::assertImplementation (bool condition, - std::string conditionExpression, - long lineNumber, - std::string fileName) -{ - if (!condition) - throw Exception (conditionExpression, - lineNumber, - fileName); +void +TestAssert::assertImplementation( bool condition, + std::string conditionExpression, + long lineNumber, + std::string fileName ) +{ + Asserter::failIf( condition, + conditionExpression, + SourceLine( fileName, lineNumber ) ); } /// Reports failed equality -void TestAssert::assertNotEqualImplementation( std::string expected, - std::string actual, - long lineNumber, - std::string fileName ) +void +TestAssert::assertNotEqualImplementation( std::string expected, + std::string actual, + long lineNumber, + std::string fileName ) { - throw NotEqualException( expected, actual, lineNumber, fileName ); + Asserter::failNotEqual( expected, + actual, + SouceLine( fileName, lineNumber ), "" ); } /// Check for a failed equality assertion -void TestAssert::assertEquals (double expected, - double actual, - double delta, - long lineNumber, - std::string fileName) +void +TestAssert::assertEquals( double expected, + double actual, + double delta, + long lineNumber, + std::string fileName ) { if (fabs (expected - actual) > delta) assertNotEqualImplementation( assertion_traits<double>::toString(expected), @@ -49,7 +53,7 @@ void TestAssert::assertEquals (double expected, fileName ); } -#else +#else // CPPUNIT_ENABLE_SOURCELINE_DEPRECATED void TestAssert::assertDoubleEquals( double expected, diff --git a/src/cppunit/XmlTestResultOutputter.cpp b/src/cppunit/XmlOutputter.cpp index 7e81c7c..93cf88f 100644 --- a/src/cppunit/XmlTestResultOutputter.cpp +++ b/src/cppunit/XmlOutputter.cpp @@ -1,7 +1,7 @@ #include <cppunit/Exception.h> #include <cppunit/Test.h> #include <cppunit/TestResult.h> -#include <cppunit/XmlTestResultOutputter.h> +#include <cppunit/XmlOutputter.h> #include <map> #include <stdlib.h> @@ -9,11 +9,11 @@ namespace CppUnit { -// XmlTestResultOutputter::Node +// XmlOutputter::Node // ////////////////////////////////////////////////////////////////// -XmlTestResultOutputter::Node::Node( std::string elementName, +XmlOutputter::Node::Node( std::string elementName, std::string content ) : m_name( elementName ), m_content( content ) @@ -21,7 +21,7 @@ XmlTestResultOutputter::Node::Node( std::string elementName, } -XmlTestResultOutputter::Node::Node( std::string elementName, +XmlOutputter::Node::Node( std::string elementName, int numericContent ) : m_name( elementName ) { @@ -29,7 +29,7 @@ XmlTestResultOutputter::Node::Node( std::string elementName, } -XmlTestResultOutputter::Node::~Node() +XmlOutputter::Node::~Node() { Nodes::iterator itNode = m_nodes.begin(); while ( itNode != m_nodes.end() ) @@ -38,7 +38,7 @@ XmlTestResultOutputter::Node::~Node() void -XmlTestResultOutputter::Node::addAttribute( std::string attributeName, +XmlOutputter::Node::addAttribute( std::string attributeName, std::string value ) { m_attributes.push_back( Attribute( attributeName, value ) ); @@ -46,7 +46,7 @@ XmlTestResultOutputter::Node::addAttribute( std::string attributeName, void -XmlTestResultOutputter::Node::addAttribute( std::string attributeName, +XmlOutputter::Node::addAttribute( std::string attributeName, int numericValue ) { addAttribute( attributeName, asString( numericValue ) ); @@ -54,14 +54,14 @@ XmlTestResultOutputter::Node::addAttribute( std::string attributeName, void -XmlTestResultOutputter::Node::addNode( Node *node ) +XmlOutputter::Node::addNode( Node *node ) { m_nodes.push_back( node ); } std::string -XmlTestResultOutputter::Node::toString() const +XmlOutputter::Node::toString() const { std::string element = "<"; element += m_name; @@ -87,7 +87,7 @@ XmlTestResultOutputter::Node::toString() const std::string -XmlTestResultOutputter::Node::attributesAsString() const +XmlOutputter::Node::attributesAsString() const { std::string attributes; Attributes::const_iterator itAttribute = m_attributes.begin(); @@ -104,7 +104,7 @@ XmlTestResultOutputter::Node::attributesAsString() const std::string -XmlTestResultOutputter::Node::escape( std::string value ) const +XmlOutputter::Node::escape( std::string value ) const { std::string escaped; for ( int index =0; index < value.length(); ++index ) @@ -137,7 +137,7 @@ XmlTestResultOutputter::Node::escape( std::string value ) const // should be somewhere else... Future CppUnit::String ? std::string -XmlTestResultOutputter::Node::asString( int value ) +XmlOutputter::Node::asString( int value ) { OStringStream stream; stream << value; @@ -147,67 +147,68 @@ XmlTestResultOutputter::Node::asString( int value ) -// XmlTestResultOutputter +// XmlOutputter // ////////////////////////////////////////////////////////////////// -XmlTestResultOutputter::XmlTestResultOutputter() +XmlOutputter::XmlOutputter( TestResult *result, + std::ostream &stream ) : + m_result( result ), + m_stream( stream ) { } -XmlTestResultOutputter::~XmlTestResultOutputter() +XmlOutputter::~XmlOutputter() { } void -XmlTestResultOutputter::write( TestResult *result, - std::ostream &stream ) +XmlOutputter::write() { - writeProlog( stream ); - writeTestsResult( result, stream ); + writeProlog(); + writeTestsResult(); } void -XmlTestResultOutputter::writeProlog( std::ostream &stream ) +XmlOutputter::writeProlog() { - stream << "<?xml version=\"1.0\" encoding='ISO-8859-1' standalone='yes' ?>" - << std::endl; + m_stream << "<?xml version=\"1.0\" " + "encoding='ISO-8859-1' standalone='yes' ?>" + << std::endl; } void -XmlTestResultOutputter::writeTestsResult( TestResult *result, - std::ostream &stream ) +XmlOutputter::writeTestsResult() { - Node *rootNode = makeRootNode( result ); - stream << rootNode->toString(); + Node *rootNode = makeRootNode(); + m_stream << rootNode->toString(); delete rootNode; } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeRootNode( TestResult *result ) +XmlOutputter::Node * +XmlOutputter::makeRootNode() { Node *rootNode = new Node( "TestRun" ); FailedTests failedTests; - fillFailedTestsMap( result, failedTests ); + fillFailedTestsMap( failedTests ); - rootNode->addNode( makeFailedTestsNode( failedTests, result ) ); - rootNode->addNode( makeSucessfulTestsNode( failedTests, result ) ); - rootNode->addNode( makeStatisticsNode( result ) ); + addFailedTests( failedTests, rootNode ); + addSucessfulTests( failedTests, rootNode ); + addStatistics( rootNode ); return rootNode; } void -XmlTestResultOutputter::fillFailedTestsMap( TestResult *result, - FailedTests &failedTests ) +XmlOutputter::fillFailedTestsMap( FailedTests &failedTests ) { - const TestResult::TestFailures &failures = result->failures(); + const TestResult::TestFailures &failures = m_result->failures(); TestResult::TestFailures::const_iterator itFailure = failures.begin(); while ( itFailure != failures.end() ) { @@ -217,101 +218,94 @@ XmlTestResultOutputter::fillFailedTestsMap( TestResult *result, } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeFailedTestsNode( FailedTests &failedTests, - TestResult *result ) +void +XmlOutputter::addFailedTests( FailedTests &failedTests, + Node *rootNode ) { - Node *rootNode = new Node( "FailedTests" ); + Node *testsNode = new Node( "FailedTests" ); + rootNode->addNode( testsNode ); - const TestResult::Tests &tests = result->tests(); + const TestResult::Tests &tests = m_result->tests(); for ( int testNumber = 0; testNumber < tests.size(); ++testNumber ) { Test *test = tests[testNumber]; if ( failedTests.find( test ) != failedTests.end() ) - { - rootNode->addNode( makeFailedTestNode( test, - failedTests[test], - testNumber+1 ) ); - } + addFailedTest( test, failedTests[test], testNumber+1, testsNode ); } - - return rootNode; } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeSucessfulTestsNode( FailedTests &failedTests, - TestResult *result ) +void +XmlOutputter::addSucessfulTests( FailedTests &failedTests, + Node *rootNode ) { - Node *rootNode = new Node( "SucessfulTests" ); + Node *testsNode = new Node( "SucessfulTests" ); + rootNode->addNode( testsNode ); - const TestResult::Tests &tests = result->tests(); + const TestResult::Tests &tests = m_result->tests(); for ( int testNumber = 0; testNumber < tests.size(); ++testNumber ) { Test *test = tests[testNumber]; if ( failedTests.find( test ) == failedTests.end() ) - { - rootNode->addNode( makeSucessfulTestNode( test, - testNumber+1 ) ); - } + addSucessfulTest( test, testNumber+1, testsNode ); } - - return rootNode; } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeStatisticsNode( TestResult *result ) +void +XmlOutputter::addStatistics( Node *rootNode ) { Node *statisticsNode = new Node( "Statistics" ); - statisticsNode->addNode( new Node( "Tests", result->runTests() ) ); + rootNode->addNode( statisticsNode ); + statisticsNode->addNode( new Node( "Tests", m_result->runTests() ) ); statisticsNode->addNode( new Node( "FailuresTotal", - result->testFailuresTotal() ) ); - statisticsNode->addNode( new Node( "Errors", result->testErrors() ) ); - statisticsNode->addNode( new Node( "Failures", result->testFailures() ) ); - - return statisticsNode; + m_result->testFailuresTotal() ) ); + statisticsNode->addNode( new Node( "Errors", m_result->testErrors() ) ); + statisticsNode->addNode( new Node( "Failures", m_result->testFailures() ) ); } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeFailedTestNode( Test *test, - TestFailure *failure, - int testNumber ) +void +XmlOutputter::addFailedTest( Test *test, + TestFailure *failure, + int testNumber, + Node *testsNode ) { Exception *thrownException = failure->thrownException(); Node *testNode = new Node( "FailedTest", thrownException->what() ); + testsNode->addNode( testNode ); testNode->addAttribute( "id", testNumber ); testNode->addNode( new Node( "Name", test->getName() ) ); testNode->addNode( new Node( "FailureType", failure->isError() ? "Error" : "Assertion" ) ); if ( failure->sourceLine().isValid() ) - testNode->addNode( makeFailureLocationNode( failure ) ); - return testNode; + addFailureLocation( failure, testNode ); } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeFailureLocationNode( TestFailure *failure ) +void +XmlOutputter::addFailureLocation( TestFailure *failure, + Node *testNode ) { Node *locationNode = new Node( "Location" ); + testNode->addNode( locationNode ); SourceLine sourceLine = failure->sourceLine(); locationNode->addNode( new Node( "File", sourceLine.fileName() ) ); locationNode->addNode( new Node( "Line", sourceLine.lineNumber() ) ); - return locationNode; } -XmlTestResultOutputter::Node * -XmlTestResultOutputter::makeSucessfulTestNode( Test *test, - int testNumber ) +void +XmlOutputter::addSucessfulTest( Test *test, + int testNumber, + Node *testsNode ) { Node *testNode = new Node( "Test" ); + testsNode->addNode( testNode ); testNode->addAttribute( "id", testNumber ); testNode->addNode( new Node( "Name", test->getName() ) ); - return testNode; } diff --git a/src/cppunit/cppunit.dsp b/src/cppunit/cppunit.dsp index bb940d2..df7c41d 100644 --- a/src/cppunit/cppunit.dsp +++ b/src/cppunit/cppunit.dsp @@ -262,12 +262,12 @@ SOURCE=..\..\include\cppunit\TestSuite.h # PROP Default_Filter "" # Begin Source File -SOURCE=.\CompilerTestResultOutputter.cpp +SOURCE=.\CompilerOutputter.cpp # SUBTRACT CPP /YX # End Source File # Begin Source File -SOURCE=..\..\include\cppunit\CompilerTestResultOutputter.h +SOURCE=..\..\include\cppunit\CompilerOutputter.h # End Source File # Begin Source File @@ -287,11 +287,11 @@ SOURCE=..\..\include\cppunit\TextTestRunner.h # End Source File # Begin Source File -SOURCE=.\XmlTestResultOutputter.cpp +SOURCE=.\XmlOutputter.cpp # End Source File # Begin Source File -SOURCE=..\..\include\cppunit\XmlTestResultOutputter.h +SOURCE=..\..\include\cppunit\XmlOutputter.h # End Source File # End Group # Begin Group "portability" |
