summaryrefslogtreecommitdiff
path: root/src/cppunit
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2001-10-07 18:37:53 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2001-10-07 18:37:53 +0000
commit150339335e3c5538c1e496ae01babf148bd29ec5 (patch)
tree9f354aaee81e08c27dc6da0709074babde7672f5 /src/cppunit
parent4410db53e88dc5aca9f86abaf9dffccbd5f94471 (diff)
downloadcppunit-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.am6
-rw-r--r--src/cppunit/TestAssert.cpp44
-rw-r--r--src/cppunit/XmlOutputter.cpp (renamed from src/cppunit/XmlTestResultOutputter.cpp)152
-rw-r--r--src/cppunit/cppunit.dsp8
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"