ENH: Fix problem with Source Lines and add debugging of regular expressions
This commit is contained in:
parent
64cf77f823
commit
2ae84e5ba6
|
@ -534,20 +534,23 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
|
|||
break;
|
||||
}
|
||||
}
|
||||
if ( cm->SourceFile.size() > 0 )
|
||||
if ( !cm->SourceFile.empty() && cm->LineNumber >= 0 )
|
||||
{
|
||||
os << "\t\t<SourceFile>" << cm->SourceFile << "</SourceFile>"
|
||||
<< std::endl;
|
||||
}
|
||||
if ( cm->SourceFileTail.size() > 0 )
|
||||
{
|
||||
os << "\t\t<SourceFileTail>" << cm->SourceFileTail
|
||||
<< "</SourceFileTail>" << std::endl;
|
||||
}
|
||||
if ( cm->LineNumber >= 0 )
|
||||
{
|
||||
os << "\t\t<SourceLineNumber>" << cm->LineNumber
|
||||
<< "</SourceLineNumber>" << std::endl;
|
||||
if ( cm->SourceFile.size() > 0 )
|
||||
{
|
||||
os << "\t\t<SourceFile>" << cm->SourceFile << "</SourceFile>"
|
||||
<< std::endl;
|
||||
}
|
||||
if ( cm->SourceFileTail.size() > 0 )
|
||||
{
|
||||
os << "\t\t<SourceFileTail>" << cm->SourceFileTail
|
||||
<< "</SourceFileTail>" << std::endl;
|
||||
}
|
||||
if ( cm->LineNumber >= 0 )
|
||||
{
|
||||
os << "\t\t<SourceLineNumber>" << cm->LineNumber
|
||||
<< "</SourceLineNumber>" << std::endl;
|
||||
}
|
||||
}
|
||||
os << "\t\t<PreContext>" << this->CTest->MakeXMLSafe(cm->PreContext)
|
||||
<< "</PreContext>\n"
|
||||
|
@ -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 )
|
||||
|
|
Loading…
Reference in New Issue