diff options
Diffstat (limited to 'Source/CTest/cmCTestBuildHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestBuildHandler.cxx | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx index abd8dddb5f..3e1dff9a54 100644 --- a/Source/CTest/cmCTestBuildHandler.cxx +++ b/Source/CTest/cmCTestBuildHandler.cxx @@ -534,6 +534,8 @@ void cmCTestBuildHandler::GenerateDartBuildOutput( break; } } + if ( !cm->SourceFile.empty() && cm->LineNumber >= 0 ) + { if ( cm->SourceFile.size() > 0 ) { os << "\t\t<SourceFile>" << cm->SourceFile << "</SourceFile>" @@ -549,6 +551,7 @@ void cmCTestBuildHandler::GenerateDartBuildOutput( os << "\t\t<SourceLineNumber>" << cm->LineNumber << "</SourceLineNumber>" << std::endl; } + } os << "\t\t<PreContext>" << this->CTest->MakeXMLSafe(cm->PreContext) << "</PreContext>\n" << "\t\t<PostContext>" << this->CTest->MakeXMLSafe(cm->PostContext); @@ -891,6 +894,7 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data) if ( !this->ErrorQuotaReached ) { // Errors + int wrxCnt = 0; for ( it = this->ErrorMatchRegex.begin(); it != this->ErrorMatchRegex.end(); ++ it ) @@ -898,11 +902,15 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data) if ( it->find(data) ) { errorLine = 1; - cmCTestLog(this->CTest, DEBUG, " Error Line: " << data << std::endl); + cmCTestLog(this->CTest, DEBUG, " Error Line: " << data + << " (matches: " << this->CustomWarningMatches[wrxCnt] << ")" + << std::endl); break; } + wrxCnt ++; } // Error exceptions + wrxCnt = 0; for ( it = this->ErrorExceptionRegex.begin(); it != this->ErrorExceptionRegex.end(); ++ it ) @@ -911,14 +919,17 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data) { errorLine = 0; cmCTestLog(this->CTest, DEBUG, " Not an error Line: " << data + << " (matches: " << this->CustomErrorExceptions[wrxCnt] << ")" << std::endl); break; } + wrxCnt ++; } } if ( !this->WarningQuotaReached ) { // Warnings + int wrxCnt = 0; for ( it = this->WarningMatchRegex.begin(); it != this->WarningMatchRegex.end(); ++ it ) @@ -927,11 +938,15 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data) { warningLine = 1; cmCTestLog(this->CTest, DEBUG, - " Warning Line: " << data << std::endl); + " Warning Line: " << data + << " (matches: " << this->CustomWarningMatches[wrxCnt] << ")" + << std::endl); break; } + wrxCnt ++; } + wrxCnt = 0; // Warning exceptions for ( it = this->WarningExceptionRegex.begin(); it != this->WarningExceptionRegex.end(); @@ -941,9 +956,11 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data) { warningLine = 0; cmCTestLog(this->CTest, DEBUG, " Not a warning Line: " << data + << " (matches: " << this->CustomWarningExceptions[wrxCnt] << ")" << std::endl); break; } + wrxCnt ++; } } if ( errorLine ) |