Outputs a TestResultCollector in a compiler compatible format.
More...
#include <CompilerOutputter.h>
Inheritance diagram for CompilerOutputter:
List of all members.
Detailed Description
Outputs a TestResultCollector in a compiler compatible format.
Printing the test results in a compiler compatible format (assertion location has the same format as compiler error), allow you to use your IDE to jump to the assertion failure. Location format can be customized (see setLocationFormat() ).
For example, when running the test in a post-build with VC++, if an assertion fails, you can jump to the assertion by pressing F4 (jump to next error).
Heres is an example of usage (from examples/cppunittest/CppUnitTestMain.cpp):
int main( int argc, char* argv[] ) {
bool selfTest = (argc > 1) &&
(std::string("-selftest") == argv[1]);
CppUnit::TextUi::TestRunner runner;
runner.addTest( CppUnitTest::suite() );
if ( selfTest )
{
runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
std::cerr ) );
}
bool wasSuccessful = runner.run( "", !selfTest );
return wasSuccessful ? 0 : 1;
}
Constructor & Destructor Documentation
CPPUNIT_NS_BEGIN CompilerOutputter::CompilerOutputter |
( |
TestResultCollector * |
result, |
|
|
std::ostream & |
stream, |
|
|
const std::string & |
locationFormat = CPPUNIT_COMPILER_LOCATION_FORMAT |
|
) |
|
|
|
Constructs a CompilerOutputter object.
- Parameters:
-
| result | Result of the test run. |
| stream | Stream used to output test result. |
| locationFormat | Error location format used by your compiler. Default to CPPUNIT_COMPILER_LOCATION_FORMAT which is defined in the configuration file. See setLocationFormat() for detail. |
- See also:
- setLocationFormat().
|
|
Prevents the use of the copy constructor.
|
Member Function Documentation
std::string CompilerOutputter::extractBaseName |
( |
const std::string & |
fileName |
) |
const [private, virtual] |
|
|
Prevents the use of the copy operator.
|
void CompilerOutputter::printFailedTestName |
( |
TestFailure * |
failure |
) |
[virtual] |
|
void CompilerOutputter::printFailureDetail |
( |
TestFailure * |
failure |
) |
[virtual] |
|
void CompilerOutputter::printFailureLocation |
( |
SourceLine |
sourceLine |
) |
[virtual] |
|
void CompilerOutputter::printFailureMessage |
( |
TestFailure * |
failure |
) |
[virtual] |
|
void CompilerOutputter::printFailureReport |
( |
|
) |
[virtual] |
|
void CompilerOutputter::printFailuresList |
( |
|
) |
[virtual] |
|
void CompilerOutputter::printFailureType |
( |
TestFailure * |
failure |
) |
[virtual] |
|
void CompilerOutputter::printStatistics |
( |
|
) |
[virtual] |
|
void CompilerOutputter::printSuccess |
( |
|
) |
[virtual] |
|
bool CompilerOutputter::processLocationFormatCommand |
( |
char |
command, |
|
|
const SourceLine & |
sourceLine |
|
) |
[private, virtual] |
|
void CompilerOutputter::setLocationFormat |
( |
const std::string & |
locationFormat |
) |
|
|
|
Sets the error location format.
Indicates the format used to report location of failed assertion. This format should match the one used by your compiler.
The location format is a string in which the occurence of the following character sequence are replaced:
- "%l" => replaced by the line number
- "%p" => replaced by the full path name of the file ("G:\prg\vc\cppunit\MyTest.cpp")
- "%f" => replaced by the base name of the file ("MyTest.cpp")
Some examples:
- VC++ error location format: "%p(%l):" => produce "G:\prg\MyTest.cpp(43):"
- GCC error location format: "%f:%l:" => produce "MyTest.cpp(43):"
Thoses are the two compilers currently supported (gcc format is used if VC++ is not detected). If you want your compiler to be automatically supported by CppUnit, send a mail to the mailing list (preferred), or submit a feature request that indicates how to detect your compiler with the preprocessor (#ifdef...) and your compiler location format. |
void CompilerOutputter::setNoWrap |
( |
|
) |
|
|
void CompilerOutputter::setWrapColumn |
( |
int |
wrapColumn |
) |
|
|
int CompilerOutputter::wrapColumn |
( |
|
) |
const |
|
void CompilerOutputter::write |
( |
|
) |
[virtual] |
|
Member Data Documentation
The documentation for this class was generated from the following files: