summaryrefslogtreecommitdiff
path: root/src/cppunit/Exception.cpp
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2002-06-13 14:31:01 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2002-06-13 14:31:01 +0000
commitabd178318ae3cdb6cc0a700e77414a33ef9297ca (patch)
tree76bb1f6d0bf28bfe23c710487d0b20bd95878ca4 /src/cppunit/Exception.cpp
parent3702f4f7603f1e49b4d6747c49e795bad712eab7 (diff)
downloadcppunit-abd178318ae3cdb6cc0a700e77414a33ef9297ca.tar.gz
Include/cppunit/Asserter.
include/cppunit/Asserter.h: * src/cppunit/Asserter.cpp: added functions that take a Message as a parameter. Existing function have a short description indicating an assertion failure. * include/cppunit/CompilerOuputter.h: * src/cppunit/CompilerOuputter.cpp: removed printNotEqualMessage() and printDefaultMessage(). Updated to use Message. * include/cppunit/Message.h: * src/cppunit/Message.cpp: added. Represents a message associated to an Exception. * include/cppunit/Exception.h: * src/cppunit/Exception.cpp: the message associated to the exception is now stored as a Message instead of a string. * include/cppunit/NotEqualException.cpp: constructs a Message instead of a string. * include/cppunit/TestAssert.h: * src/cppunit/TestAssert.cpp: updated to use Asserter functions that take a message when pertinent (CPPUNIT_FAIL...). * include/cppunit/TestCaller.h: * src/cppunit/TestCaller.cpp: exception not caught failure has a better short description. * src/cppunit/TestCase.cpp: better short description when setUp() or tearDown() fail. * src/msvc6/testrunner/TestRunnerDlg.cpp: replace '\n' in failure message with space. * examples/cppunittest/ExceptionTest.cpp: * examples/cppunittest/NotEqualExceptionTest.cpp: * examples/cppunittest/TestCallerTest.cpp: * examples/cppunittest/TestFailureTest.cpp: * examples/cppunittest/TestResultCollectorTest.h: * examples/cppunittest/TestResultCollectorTest.cpp: * examples/cppunittest/TestResultTest.cpp: * examples/cppunittest/XmlOutputterTest.h: * examples/cppunittest/XmlOutputterTest.cpp: updated to use Exception/Message. * examples/cppunittest/MessageTest.h: * examples/cppunittest/MessageTest.cpp: added. Unit test for Message.
Diffstat (limited to 'src/cppunit/Exception.cpp')
-rw-r--r--src/cppunit/Exception.cpp50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/cppunit/Exception.cpp b/src/cppunit/Exception.cpp
index ab8cdde..2c01324 100644
--- a/src/cppunit/Exception.cpp
+++ b/src/cppunit/Exception.cpp
@@ -17,48 +17,39 @@ const long Exception::UNKNOWNLINENUMBER = -1;
#endif
-/// Construct the exception
-Exception::Exception( const Exception &other ) :
- std::exception( other )
+Exception::Exception( const Exception &other )
+ : std::exception( other )
{
m_message = other.m_message;
m_sourceLine = other.m_sourceLine;
}
-/*!
- * \deprecated Use other constructor instead.
- */
-Exception::Exception( std::string message,
- SourceLine sourceLine ) :
- m_message( message ),
- m_sourceLine( sourceLine )
+Exception::Exception( const Message &message,
+ const SourceLine &sourceLine )
+ : m_message( message )
+ , m_sourceLine( sourceLine )
{
}
#ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED
-/*!
- * \deprecated Use other constructor instead.
- */
Exception::Exception( std::string message,
long lineNumber,
- std::string fileName ) :
- m_message( message ),
- m_sourceLine( fileName, lineNumber )
+ std::string fileName )
+ : m_message( message )
+ , m_sourceLine( fileName, lineNumber )
{
}
#endif
-/// Destruct the exception
-Exception::~Exception () throw()
+Exception::~Exception() throw()
{
}
-/// Perform an assignment
-Exception&
+Exception &
Exception::operator =( const Exception& other )
{
// Don't call superclass operator =(). VC++ STL implementation
@@ -76,14 +67,16 @@ Exception::operator =( const Exception& other )
}
-/// Return descriptive message
const char*
Exception::what() const throw()
-{
- return m_message.c_str ();
+{
+ Exception *mutableThis = const_cast<Exception *>( this );
+ mutableThis->m_whatMessage = m_message.shortDescription() + "\n" +
+ m_message.details();
+ return m_whatMessage.c_str();
}
-/// Location where the error occured
+
SourceLine
Exception::sourceLine() const
{
@@ -91,8 +84,14 @@ Exception::sourceLine() const
}
+Message
+Exception::message() const
+{
+ return m_message;
+}
+
+
#ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED
-/// The line on which the error occurred
long
Exception::lineNumber() const
{
@@ -101,7 +100,6 @@ Exception::lineNumber() const
}
-/// The file in which the error occurred
std::string
Exception::fileName() const
{