예제 #1
0
void TextResultPrinter::addFailure(const TestFailure& fail)
{
    auto test = tests.top();
    fail.isFailure() ? test->onFailure() : test->onError();

    out << fail.getExceptionMsg() << std::endl;
}
예제 #2
0
void FrontDeskOutputter::writeFailure(TestFailure& failure) {
	FrontDeskTestCase* test = (FrontDeskTestCase*) failure.failedTest();
	m_stream << "\t<Failure>" << endl;
	m_stream << "\t\t<Name>" << clean(failure.toString()) << "</Name>" << endl;
	m_stream << "\t\t<Points>" << test->getFailPoints() << "</Points>" << endl;
	m_stream << "\t\t<Message>" << clean(failure.thrownException()->what()) << "</Message>" << endl;
	m_stream << "\t</Failure>" << endl;
}
예제 #3
0
void FrontDeskOutputter::writeError(TestFailure& error) {
	FrontDeskTestCase* test = (FrontDeskTestCase*) error.failedTest();
	m_stream << "\t<Error>" << endl;
	m_stream << "\t\t<Name>" << clean(error.toString()) << "</Name>" << endl;
	m_stream << "\t\t<Points>" << test->getErrorPoints() << "</Points>" << endl;
	m_stream << "\t\t<Message>" << clean(error.thrownException()->what()) << "</Message>" << endl;
	m_stream << "\t</Error>" << endl;
}
void TestOutput::print(const TestFailure& failure)
{
	if (failure.isOutsideTestFile() || failure.isInHelperFunction())
		printFileAndLineForTestAndFailure(failure);
	else
		printFileAndLineForFailure(failure);

	printFailureMessage(failure.getMessage());
}
예제 #5
0
void FrontDeskOutputter::writeTestsResult() {
	const TestResultCollector::TestFailures &failures = m_result->failures();
	TestResultCollector::TestFailures::const_iterator itFailure = failures.begin();
	while (itFailure != failures.end()) {
		TestFailure *failure = *itFailure++;
		if (failure->isError())
			writeError(*failure);
		else
			writeFailure(*failure);
	}
}
예제 #6
0
void 
XmlOutputter::fillFailedTestsMap( FailedTests &failedTests )
{
  const TestResultCollector::TestFailures &failures = m_result->failures();
  TestResultCollector::TestFailures::const_iterator itFailure = failures.begin();
  while ( itFailure != failures.end() )
  {
    TestFailure *failure = *itFailure++;
    failedTests.insert( std::pair<Test* const, TestFailure*>(failure->failedTest(), failure ) );
  }
}
예제 #7
0
void XmlResultPrinter::addFailure(const TestFailure& fail)
{
    auto test = tests.top();
    fail.isFailure() ? test->onFailure() : test->onError();

    builder->addChild("failure");
    builder->addAttribute("message", getExpectedMsg(fail.getExceptionMsg()));

    builder->addSibling("failure");
    builder->addAttribute("message", getExceptionMsg(fail.getExceptionMsg()));
}
예제 #8
0
void TextTestResult::printFailures(std::ostream& stream)
{
    if (testFailures() != 0)
    {
        stream << "\n";
        if (testFailures() == 1)
            stream << "There was " << testFailures() << " failure: " << std::endl;
        else
            stream << "There were " << testFailures() << " failures: " << std::endl;

        int i = 1;

        for (std::vector<TestFailure*>::iterator it = failures().begin(); it != failures().end(); ++it)
        {
            TestFailure* failure = *it;
            CppUnitException* e = failure->thrownException();

            stream << std::setw(2) << i
                   << ": "
                   << failure->failedTest()->toString() << "\n"
                   << "    \"" << (e ? e->what() : "") << "\"\n"
                   << "    in \""
                   << (e ? e->fileName() : std::string())
                   << "\", line ";
            if (e == 0)
            {
                stream << "0";
            }
            else
            {
                stream << e->lineNumber();
                if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)
                {
                    stream << " data lines "
                           << e->data1LineNumber()
                           << ", " << e->data2LineNumber();
                }
                else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)
                {
                    stream << " data line " << e->data1LineNumber();
                }
            }
            stream << "\n";
            i++;
        }
    }
}
void TestOutput::printFileAndLineForFailure(const TestFailure& failure)
{
	printEclipseErrorInFileOnLine(failure.getFileName(), failure.getFailureLineNumber());
	printFailureInTest(failure.getTestName());
}
예제 #10
0
void 
BriefTestProgressListener::addFailure( const TestFailure &failure )
{
  stdCOut() << " : " << (failure.isError() ? "error" : "assertion");
  m_lastTestFailed  = true;
}
예제 #11
0
void TestOutput::printFileAndLineForFailure(const TestFailure& failure)
{
    printErrorInFileOnLineFormattedForWorkingEnvironment(failure.getFileName(), failure.getFailureLineNumber());
    printFailureInTest(failure.getTestName());
}
예제 #12
0
void TextOutputter::addFailure(const TestFailure& failure)
{
    sprintf(message, "%s|%d|%s|", failure.getFileName(), 
        failure.getLineNumber(), failure.getMessage());
}
예제 #13
0
void 
TextTestProgressListener::addFailure( const TestFailure &failure )
{
  std::cerr << ( failure.isError() ? "E" : "F" );
  std::cerr.flush();
}