summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestBuildHandler.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CTest/cmCTestBuildHandler.cxx')
-rw-r--r--Source/CTest/cmCTestBuildHandler.cxx471
1 files changed, 237 insertions, 234 deletions
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index a5f9143..d00b738 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -146,9 +146,9 @@ static const char* cmCTestWarningExceptions[] = {
struct cmCTestBuildCompileErrorWarningRex
{
- const char* m_RegularExpressionString;
- int m_FileIndex;
- int m_LineIndex;
+ const char* RegularExpressionString;
+ int FileIndex;
+ int LineIndex;
};
static cmCTestBuildCompileErrorWarningRex
@@ -165,13 +165,13 @@ cmCTestWarningErrorFileLine[] = {
//----------------------------------------------------------------------
cmCTestBuildHandler::cmCTestBuildHandler()
{
- m_MaxPreContext = 6;
- m_MaxPostContext = 6;
+ this->MaxPreContext = 6;
+ this->MaxPostContext = 6;
- m_MaxErrors = 50;
- m_MaxWarnings = 50;
+ this->MaxErrors = 50;
+ this->MaxWarnings = 50;
- m_LastErrorOrWarning = m_ErrorsAndWarnings.end();
+ this->LastErrorOrWarning = this->ErrorsAndWarnings.end();
}
@@ -179,61 +179,61 @@ cmCTestBuildHandler::cmCTestBuildHandler()
void cmCTestBuildHandler::Initialize()
{
this->Superclass::Initialize();
- m_StartBuild = "";
- m_EndBuild = "";
- m_CustomErrorMatches.clear();
- m_CustomErrorExceptions.clear();
- m_CustomWarningMatches.clear();
- m_CustomWarningExceptions.clear();
- m_ErrorWarningFileLineRegex.clear();
-
- m_ErrorMatchRegex.clear();
- m_ErrorExceptionRegex.clear();
- m_WarningMatchRegex.clear();
- m_WarningExceptionRegex.clear();
- m_BuildProcessingQueue.clear();
- m_BuildProcessingErrorQueue.clear();
- m_BuildOutputLogSize = 0;
- m_CurrentProcessingLine.clear();
-
- m_SimplifySourceDir = "";
- m_SimplifyBuildDir = "";
- m_OutputLineCounter = 0;
- m_ErrorsAndWarnings.clear();
- m_LastErrorOrWarning = m_ErrorsAndWarnings.end();
- m_PostContextCount = 0;
- m_MaxPreContext = 6;
- m_MaxPostContext = 6;
- m_PreContext.clear();
-
- m_TotalErrors = 0;
- m_TotalWarnings = 0;
- m_LastTickChar = 0;
-
- m_ErrorQuotaReached = false;
- m_WarningQuotaReached = false;
-
- m_MaxErrors = 50;
- m_MaxWarnings = 50;
+ this->StartBuild = "";
+ this->EndBuild = "";
+ this->CustomErrorMatches.clear();
+ this->CustomErrorExceptions.clear();
+ this->CustomWarningMatches.clear();
+ this->CustomWarningExceptions.clear();
+ this->ErrorWarningFileLineRegex.clear();
+
+ this->ErrorMatchRegex.clear();
+ this->ErrorExceptionRegex.clear();
+ this->WarningMatchRegex.clear();
+ this->WarningExceptionRegex.clear();
+ this->BuildProcessingQueue.clear();
+ this->BuildProcessingErrorQueue.clear();
+ this->BuildOutputLogSize = 0;
+ this->CurrentProcessingLine.clear();
+
+ this->SimplifySourceDir = "";
+ this->SimplifyBuildDir = "";
+ this->OutputLineCounter = 0;
+ this->ErrorsAndWarnings.clear();
+ this->LastErrorOrWarning = this->ErrorsAndWarnings.end();
+ this->PostContextCount = 0;
+ this->MaxPreContext = 6;
+ this->MaxPostContext = 6;
+ this->PreContext.clear();
+
+ this->TotalErrors = 0;
+ this->TotalWarnings = 0;
+ this->LastTickChar = 0;
+
+ this->ErrorQuotaReached = false;
+ this->WarningQuotaReached = false;
+
+ this->MaxErrors = 50;
+ this->MaxWarnings = 50;
}
//----------------------------------------------------------------------
void cmCTestBuildHandler::PopulateCustomVectors(cmMakefile *mf)
{
cmCTest::PopulateCustomVector(mf, "CTEST_CUSTOM_ERROR_MATCH",
- m_CustomErrorMatches);
+ this->CustomErrorMatches);
cmCTest::PopulateCustomVector(mf, "CTEST_CUSTOM_ERROR_EXCEPTION",
- m_CustomErrorExceptions);
+ this->CustomErrorExceptions);
cmCTest::PopulateCustomVector(mf, "CTEST_CUSTOM_WARNING_MATCH",
- m_CustomWarningMatches);
+ this->CustomWarningMatches);
cmCTest::PopulateCustomVector(mf, "CTEST_CUSTOM_WARNING_EXCEPTION",
- m_CustomWarningExceptions);
+ this->CustomWarningExceptions);
cmCTest::PopulateCustomInteger(mf,
"CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS",
- m_MaxErrors);
+ this->MaxErrors);
cmCTest::PopulateCustomInteger(mf,
"CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS",
- m_MaxWarnings);
+ this->MaxWarnings);
}
//----------------------------------------------------------------------
@@ -241,45 +241,45 @@ void cmCTestBuildHandler::PopulateCustomVectors(cmMakefile *mf)
//functions and commented...
int cmCTestBuildHandler::ProcessHandler()
{
- cmCTestLog(m_CTest, HANDLER_OUTPUT, "Build project" << std::endl);
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, "Build project" << std::endl);
int entry;
for ( entry = 0;
- cmCTestWarningErrorFileLine[entry].m_RegularExpressionString;
+ cmCTestWarningErrorFileLine[entry].RegularExpressionString;
++ entry )
{
cmCTestBuildHandler::cmCTestCompileErrorWarningRex r;
- if ( r.m_RegularExpression.compile(
- cmCTestWarningErrorFileLine[entry].m_RegularExpressionString) )
+ if ( r.RegularExpression.compile(
+ cmCTestWarningErrorFileLine[entry].RegularExpressionString) )
{
- r.m_FileIndex = cmCTestWarningErrorFileLine[entry].m_FileIndex;
- r.m_LineIndex = cmCTestWarningErrorFileLine[entry].m_LineIndex;
- m_ErrorWarningFileLineRegex.push_back(r);
+ r.FileIndex = cmCTestWarningErrorFileLine[entry].FileIndex;
+ r.LineIndex = cmCTestWarningErrorFileLine[entry].LineIndex;
+ this->ErrorWarningFileLineRegex.push_back(r);
}
else
{
- cmCTestLog(m_CTest, ERROR_MESSAGE,
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
"Problem Compiling regular expression: "
- << cmCTestWarningErrorFileLine[entry].m_RegularExpressionString
+ << cmCTestWarningErrorFileLine[entry].RegularExpressionString
<< std::endl);
}
}
// Determine build command and build directory
const std::string &makeCommand
- = m_CTest->GetCTestConfiguration("MakeCommand");
+ = this->CTest->GetCTestConfiguration("MakeCommand");
if ( makeCommand.size() == 0 )
{
- cmCTestLog(m_CTest, ERROR_MESSAGE,
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
"Cannot find MakeCommand key in the DartConfiguration.tcl"
<< std::endl);
return -1;
}
const std::string &buildDirectory
- = m_CTest->GetCTestConfiguration("BuildDirectory");
+ = this->CTest->GetCTestConfiguration("BuildDirectory");
if ( buildDirectory.size() == 0 )
{
- cmCTestLog(m_CTest, ERROR_MESSAGE,
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
"Cannot find BuildDirectory key in the DartConfiguration.tcl"
<< std::endl);
return -1;
@@ -290,7 +290,7 @@ int cmCTestBuildHandler::ProcessHandler()
double elapsed_time_start = cmSystemTools::GetTime();
if ( !this->StartLogFile("Build", ofs) )
{
- cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create build log file"
+ cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot create build log file"
<< std::endl);
}
@@ -299,19 +299,19 @@ int cmCTestBuildHandler::ProcessHandler()
std::vector<cmStdString>::size_type cc;
for ( cc = 0; cmCTestErrorMatches[cc]; cc ++ )
{
- m_CustomErrorMatches.push_back(cmCTestErrorMatches[cc]);
+ this->CustomErrorMatches.push_back(cmCTestErrorMatches[cc]);
}
for ( cc = 0; cmCTestErrorExceptions[cc]; cc ++ )
{
- m_CustomErrorExceptions.push_back(cmCTestErrorExceptions[cc]);
+ this->CustomErrorExceptions.push_back(cmCTestErrorExceptions[cc]);
}
for ( cc = 0; cmCTestWarningMatches[cc]; cc ++ )
{
- m_CustomWarningMatches.push_back(cmCTestWarningMatches[cc]);
+ this->CustomWarningMatches.push_back(cmCTestWarningMatches[cc]);
}
for ( cc = 0; cmCTestWarningExceptions[cc]; cc ++ )
{
- m_CustomWarningExceptions.push_back(cmCTestWarningExceptions[cc]);
+ this->CustomWarningExceptions.push_back(cmCTestWarningExceptions[cc]);
}
// Pre-compile regular expressions objects for all regular expressions
@@ -324,22 +324,22 @@ int cmCTestBuildHandler::ProcessHandler()
regexes.push_back(it->c_str()); \
}
cmCTestBuildHandlerPopulateRegexVector(
- m_CustomErrorMatches, m_ErrorMatchRegex);
+ this->CustomErrorMatches, this->ErrorMatchRegex);
cmCTestBuildHandlerPopulateRegexVector(
- m_CustomErrorExceptions, m_ErrorExceptionRegex);
+ this->CustomErrorExceptions, this->ErrorExceptionRegex);
cmCTestBuildHandlerPopulateRegexVector(
- m_CustomWarningMatches, m_WarningMatchRegex);
+ this->CustomWarningMatches, this->WarningMatchRegex);
cmCTestBuildHandlerPopulateRegexVector(
- m_CustomWarningExceptions, m_WarningExceptionRegex);
+ this->CustomWarningExceptions, this->WarningExceptionRegex);
// Determine source and binary tree substitutions to simplify the output.
- m_SimplifySourceDir = "";
- m_SimplifyBuildDir = "";
- if ( m_CTest->GetCTestConfiguration("SourceDirectory").size() > 20 )
+ this->SimplifySourceDir = "";
+ this->SimplifyBuildDir = "";
+ if ( this->CTest->GetCTestConfiguration("SourceDirectory").size() > 20 )
{
std::string srcdir
- = m_CTest->GetCTestConfiguration("SourceDirectory") + "/";
+ = this->CTest->GetCTestConfiguration("SourceDirectory") + "/";
std::string srcdirrep;
for ( cc = srcdir.size()-2; cc > 0; cc -- )
{
@@ -351,12 +351,12 @@ int cmCTestBuildHandler::ProcessHandler()
break;
}
}
- m_SimplifySourceDir = srcdir;
+ this->SimplifySourceDir = srcdir;
}
- if ( m_CTest->GetCTestConfiguration("BuildDirectory").size() > 20 )
+ if ( this->CTest->GetCTestConfiguration("BuildDirectory").size() > 20 )
{
std::string bindir
- = m_CTest->GetCTestConfiguration("BuildDirectory") + "/";
+ = this->CTest->GetCTestConfiguration("BuildDirectory") + "/";
std::string bindirrep;
for ( cc = bindir.size()-2; cc > 0; cc -- )
{
@@ -368,86 +368,86 @@ int cmCTestBuildHandler::ProcessHandler()
break;
}
}
- m_SimplifyBuildDir = bindir;
+ this->SimplifyBuildDir = bindir;
}
// Ok, let's do the build
// Remember start build time
- m_StartBuild = m_CTest->CurrentTime();
+ this->StartBuild = this->CTest->CurrentTime();
int retVal = 0;
int res = cmsysProcess_State_Exited;
- if ( !m_CTest->GetShowOnly() )
+ if ( !this->CTest->GetShowOnly() )
{
res = this->RunMakeCommand(makeCommand.c_str(), &retVal,
buildDirectory.c_str(), 0, ofs);
}
else
{
- cmCTestLog(m_CTest, DEBUG, "Build with command: " << makeCommand
+ cmCTestLog(this->CTest, DEBUG, "Build with command: " << makeCommand
<< std::endl);
}
// Remember end build time and calculate elapsed time
- m_EndBuild = m_CTest->CurrentTime();
+ this->EndBuild = this->CTest->CurrentTime();
double elapsed_build_time = cmSystemTools::GetTime() - elapsed_time_start;
if (res != cmsysProcess_State_Exited || retVal )
{
- cmCTestLog(m_CTest, ERROR_MESSAGE, "Error(s) when building project"
+ cmCTestLog(this->CTest, ERROR_MESSAGE, "Error(s) when building project"
<< std::endl);
}
// Cleanups strings in the errors and warnings list.
t_ErrorsAndWarningsVector::iterator evit;
- if ( !m_SimplifySourceDir.empty() )
+ if ( !this->SimplifySourceDir.empty() )
{
- for ( evit = m_ErrorsAndWarnings.begin();
- evit != m_ErrorsAndWarnings.end();
+ for ( evit = this->ErrorsAndWarnings.begin();
+ evit != this->ErrorsAndWarnings.end();
++ evit )
{
cmSystemTools::ReplaceString(
- evit->m_Text, m_SimplifySourceDir.c_str(), "/.../");
+ evit->Text, this->SimplifySourceDir.c_str(), "/.../");
cmSystemTools::ReplaceString(
- evit->m_PreContext, m_SimplifySourceDir.c_str(), "/.../");
+ evit->PreContext, this->SimplifySourceDir.c_str(), "/.../");
cmSystemTools::ReplaceString(
- evit->m_PostContext, m_SimplifySourceDir.c_str(), "/.../");
+ evit->PostContext, this->SimplifySourceDir.c_str(), "/.../");
}
}
- if ( !m_SimplifyBuildDir.empty() )
+ if ( !this->SimplifyBuildDir.empty() )
{
- for ( evit = m_ErrorsAndWarnings.begin();
- evit != m_ErrorsAndWarnings.end();
+ for ( evit = this->ErrorsAndWarnings.begin();
+ evit != this->ErrorsAndWarnings.end();
++ evit )
{
cmSystemTools::ReplaceString(
- evit->m_Text, m_SimplifyBuildDir.c_str(), "/.../");
+ evit->Text, this->SimplifyBuildDir.c_str(), "/.../");
cmSystemTools::ReplaceString(
- evit->m_PreContext, m_SimplifyBuildDir.c_str(), "/.../");
+ evit->PreContext, this->SimplifyBuildDir.c_str(), "/.../");
cmSystemTools::ReplaceString(
- evit->m_PostContext, m_SimplifyBuildDir.c_str(), "/.../");
+ evit->PostContext, this->SimplifyBuildDir.c_str(), "/.../");
}
}
// Display message about number of errors and warnings
- cmCTestLog(m_CTest, HANDLER_OUTPUT, " " << m_TotalErrors
- << (m_TotalErrors >= m_MaxErrors ? " or more" : "")
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, " " << this->TotalErrors
+ << (this->TotalErrors >= this->MaxErrors ? " or more" : "")
<< " Compiler errors" << std::endl);
- cmCTestLog(m_CTest, HANDLER_OUTPUT, " " << m_TotalWarnings
- << (m_TotalWarnings >= m_MaxWarnings ? " or more" : "")
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, " " << this->TotalWarnings
+ << (this->TotalWarnings >= this->MaxWarnings ? " or more" : "")
<< " Compiler warnings" << std::endl);
// Generate XML output
cmGeneratedFileStream xofs;
if( !this->StartResultingXML("Build", xofs))
{
- cmCTestLog(m_CTest, ERROR_MESSAGE, "Cannot create build XML file"
+ cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot create build XML file"
<< std::endl);
return -1;
}
this->GenerateDartBuildOutput(
- xofs, m_ErrorsAndWarnings, elapsed_build_time);
+ xofs, this->ErrorsAndWarnings, elapsed_build_time);
return 0;
}
@@ -457,19 +457,20 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
std::vector<cmCTestBuildErrorWarning> ew,
double elapsed_build_time)
{
- m_CTest->StartXML(os);
+ this->CTest->StartXML(os);
os << "<Build>\n"
- << "\t<StartDateTime>" << m_StartBuild << "</StartDateTime>\n"
+ << "\t<StartDateTime>" << this->StartBuild << "</StartDateTime>\n"
<< "<BuildCommand>"
- << m_CTest->MakeXMLSafe(m_CTest->GetCTestConfiguration("MakeCommand"))
+ << this->CTest->MakeXMLSafe(
+ this->CTest->GetCTestConfiguration("MakeCommand"))
<< "</BuildCommand>" << std::endl;
std::vector<cmCTestBuildErrorWarning>::iterator it;
// only report the first 50 warnings and first 50 errors
- unsigned short numErrorsAllowed = m_MaxErrors;
- unsigned short numWarningsAllowed = m_MaxWarnings;
- std::string srcdir = m_CTest->GetCTestConfiguration("SourceDirectory");
+ unsigned short numErrorsAllowed = this->MaxErrors;
+ unsigned short numWarningsAllowed = this->MaxWarnings;
+ std::string srcdir = this->CTest->GetCTestConfiguration("SourceDirectory");
// make sure the source dir is in the correct case on windows
// via a call to collapse full path.
srcdir = cmSystemTools::CollapseFullPath(srcdir.c_str());
@@ -478,10 +479,10 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
it != ew.end() && (numErrorsAllowed || numWarningsAllowed); it++ )
{
cmCTestBuildErrorWarning *cm = &(*it);
- if (cm->m_Error && numErrorsAllowed ||
- !cm->m_Error && numWarningsAllowed)
+ if (cm->Error && numErrorsAllowed ||
+ !cm->Error && numWarningsAllowed)
{
- if (cm->m_Error)
+ if (cm->Error)
{
numErrorsAllowed--;
}
@@ -489,80 +490,80 @@ void cmCTestBuildHandler::GenerateDartBuildOutput(
{
numWarningsAllowed--;
}
- os << "\t<" << (cm->m_Error ? "Error" : "Warning") << ">\n"
- << "\t\t<BuildLogLine>" << cm->m_LogLine << "</BuildLogLine>\n"
- << "\t\t<Text>" << m_CTest->MakeXMLSafe(cm->m_Text)
+ os << "\t<" << (cm->Error ? "Error" : "Warning") << ">\n"
+ << "\t\t<BuildLogLine>" << cm->LogLine << "</BuildLogLine>\n"
+ << "\t\t<Text>" << this->CTest->MakeXMLSafe(cm->Text)
<< "\n</Text>" << std::endl;
std::vector<cmCTestCompileErrorWarningRex>::iterator rit;
- for ( rit = m_ErrorWarningFileLineRegex.begin();
- rit != m_ErrorWarningFileLineRegex.end(); ++ rit )
+ for ( rit = this->ErrorWarningFileLineRegex.begin();
+ rit != this->ErrorWarningFileLineRegex.end(); ++ rit )
{
- cmsys::RegularExpression* re = &rit->m_RegularExpression;
- if ( re->find(cm->m_Text.c_str() ) )
+ cmsys::RegularExpression* re = &rit->RegularExpression;
+ if ( re->find(cm->Text.c_str() ) )
{
- cm->m_SourceFile = re->match(rit->m_FileIndex);
- // At this point we need to make m_SourceFile relative to
+ cm->SourceFile = re->match(rit->FileIndex);
+ // At this point we need to make this->SourceFile relative to
// the source root of the project, so cvs links will work
- cmSystemTools::ConvertToUnixSlashes(cm->m_SourceFile);
- if(cm->m_SourceFile.find("/.../") != cm->m_SourceFile.npos)
+ cmSystemTools::ConvertToUnixSlashes(cm->SourceFile);
+ if(cm->SourceFile.find("/.../") != cm->SourceFile.npos)
{
- cmSystemTools::ReplaceString(cm->m_SourceFile, "/.../", "");
- std::string::size_type p = cm->m_SourceFile.find("/");
- if(p != cm->m_SourceFile.npos)
+ cmSystemTools::ReplaceString(cm->SourceFile, "/.../", "");
+ std::string::size_type p = cm->SourceFile.find("/");
+ if(p != cm->SourceFile.npos)
{
- cm->m_SourceFile = cm->m_SourceFile.substr(
- p+1, cm->m_SourceFile.size()-p);
+ cm->SourceFile = cm->SourceFile.substr(
+ p+1, cm->SourceFile.size()-p);
}
}
else
{
// make sure it is a full path with the correct case
- cm->m_SourceFile = cmSystemTools::CollapseFullPath(
- cm->m_SourceFile.c_str());
+ cm->SourceFile = cmSystemTools::CollapseFullPath(
+ cm->SourceFile.c_str());
cmSystemTools::ReplaceString(
- cm->m_SourceFile, srcdir.c_str(), "");
+ cm->SourceFile, srcdir.c_str(), "");
}
- cm->m_LineNumber = atoi(re->match(rit->m_LineIndex).c_str());
+ cm->LineNumber = atoi(re->match(rit->LineIndex).c_str());
break;
}
}
- if ( cm->m_SourceFile.size() > 0 )
+ if ( cm->SourceFile.size() > 0 )
{
- os << "\t\t<SourceFile>" << cm->m_SourceFile << "</SourceFile>"
+ os << "\t\t<SourceFile>" << cm->SourceFile << "</SourceFile>"
<< std::endl;
}
- if ( cm->m_SourceFileTail.size() > 0 )
+ if ( cm->SourceFileTail.size() > 0 )
{
- os << "\t\t<SourceFileTail>" << cm->m_SourceFileTail
+ os << "\t\t<SourceFileTail>" << cm->SourceFileTail
<< "</SourceFileTail>" << std::endl;
}
- if ( cm->m_LineNumber >= 0 )
+ if ( cm->LineNumber >= 0 )
{
- os << "\t\t<SourceLineNumber>" << cm->m_LineNumber
+ os << "\t\t<SourceLineNumber>" << cm->LineNumber
<< "</SourceLineNumber>" << std::endl;
}
- os << "\t\t<PreContext>" << m_CTest->MakeXMLSafe(cm->m_PreContext)
+ os << "\t\t<PreContext>" << this->CTest->MakeXMLSafe(cm->PreContext)
<< "</PreContext>\n"
- << "\t\t<PostContext>" << m_CTest->MakeXMLSafe(cm->m_PostContext);
+ << "\t\t<PostContext>" << this->CTest->MakeXMLSafe(cm->PostContext);
// is this the last warning or error, if so notify
- if (cm->m_Error && !numErrorsAllowed ||
- !cm->m_Error && !numWarningsAllowed)
+ if (cm->Error && !numErrorsAllowed ||
+ !cm->Error && !numWarningsAllowed)
{
os << "\nThe maximum number of reported warnings or errors has been "
"reached!!!\n";
}
os << "</PostContext>\n"
<< "\t\t<RepeatCount>0</RepeatCount>\n"
- << "</" << (cm->m_Error ? "Error" : "Warning") << ">\n\n"
+ << "</" << (cm->Error ? "Error" : "Warning") << ">\n\n"
<< std::endl;
}
}
os << "\t<Log Encoding=\"base64\" Compression=\"/bin/gzip\">\n\t</Log>\n"
- << "\t<EndDateTime>" << m_EndBuild << "</EndDateTime>\n"
+ << "\t<EndDateTime>" << this->EndBuild << "</EndDateTime>\n"
<< "<ElapsedMinutes>" << static_cast<int>(elapsed_build_time/6)/10.0
<< "</ElapsedMinutes>"
<< "</Build>" << std::endl;
- m_CTest->EndXML(os);
+ this->CTest->EndXML(os);
}
//######################################################################
@@ -590,13 +591,13 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
}
argv.push_back(0);
- cmCTestLog(m_CTest, HANDLER_VERBOSE_OUTPUT, "Run command:");
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command:");
std::vector<const char*>::iterator ait;
for ( ait = argv.begin(); ait != argv.end() && *ait; ++ ait )
{
- cmCTestLog(m_CTest, HANDLER_VERBOSE_OUTPUT, " \"" << *ait << "\"");
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, " \"" << *ait << "\"");
}
- cmCTestLog(m_CTest, HANDLER_VERBOSE_OUTPUT, std::endl);
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, std::endl);
// Now create process object
cmsysProcess* cp = cmsysProcess_New();
@@ -612,22 +613,22 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
char* data;
int length;
- cmCTestLog(m_CTest, HANDLER_OUTPUT,
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
" Each symbol represents " << tick_len << " bytes of output."
<< std::endl
<< " '!' represents an error and '*' a warning." << std::endl
<< " " << std::flush);
// Initialize building structures
- m_BuildProcessingQueue.clear();
- m_OutputLineCounter = 0;
- m_ErrorsAndWarnings.clear();
- m_TotalErrors = 0;
- m_TotalWarnings = 0;
- m_BuildOutputLogSize = 0;
- m_LastTickChar = '.';
- m_WarningQuotaReached = false;
- m_ErrorQuotaReached = false;
+ this->BuildProcessingQueue.clear();
+ this->OutputLineCounter = 0;
+ this->ErrorsAndWarnings.clear();
+ this->TotalErrors = 0;
+ this->TotalWarnings = 0;
+ this->BuildOutputLogSize = 0;
+ this->LastTickChar = '.';
+ this->WarningQuotaReached = false;
+ this->ErrorQuotaReached = false;
// For every chunk of data
int res;
@@ -647,20 +648,20 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
if ( res == cmsysProcess_Pipe_STDERR )
{
this->ProcessBuffer(data, length, tick, tick_len, ofs,
- &m_BuildProcessingErrorQueue);
+ &this->BuildProcessingErrorQueue);
}
else
{
this->ProcessBuffer(data, length, tick, tick_len, ofs,
- &m_BuildProcessingQueue);
+ &this->BuildProcessingQueue);
}
}
- this->ProcessBuffer(0, 0, tick, tick_len, ofs, &m_BuildProcessingQueue);
+ this->ProcessBuffer(0, 0, tick, tick_len, ofs, &this->BuildProcessingQueue);
this->ProcessBuffer(0, 0, tick, tick_len, ofs,
- &m_BuildProcessingErrorQueue);
- cmCTestLog(m_CTest, OUTPUT, " Size of output: "
- << int(m_BuildOutputLogSize / 1024.0) << "K" << std::endl);
+ &this->BuildProcessingErrorQueue);
+ cmCTestLog(this->CTest, OUTPUT, " Size of output: "
+ << int(this->BuildOutputLogSize / 1024.0) << "K" << std::endl);
// Properly handle output of the build command
cmsysProcess_WaitForExit(cp, 0);
@@ -669,32 +670,32 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
if(result == cmsysProcess_State_Exited)
{
*retVal = cmsysProcess_GetExitValue(cp);
- cmCTestLog(m_CTest, HANDLER_VERBOSE_OUTPUT,
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
"Command exited with the value: " << *retVal << std::endl);
}
else if(result == cmsysProcess_State_Exception)
{
*retVal = cmsysProcess_GetExitException(cp);
- cmCTestLog(m_CTest, WARNING, "There was an exception: " << *retVal
+ cmCTestLog(this->CTest, WARNING, "There was an exception: " << *retVal
<< std::endl);
}
else if(result == cmsysProcess_State_Expired)
{
- cmCTestLog(m_CTest, WARNING, "There was a timeout" << std::endl);
+ cmCTestLog(this->CTest, WARNING, "There was a timeout" << std::endl);
}
else if(result == cmsysProcess_State_Error)
{
// If there was an error running command, report that on the dashboard.
cmCTestBuildErrorWarning errorwarning;
- errorwarning.m_LogLine = 1;
- errorwarning.m_Text = "*** ERROR executing: ";
- errorwarning.m_Text += cmsysProcess_GetErrorString(cp);
- errorwarning.m_PreContext = "";
- errorwarning.m_PostContext = "";
- errorwarning.m_Error = true;
- m_ErrorsAndWarnings.push_back(errorwarning);
- m_TotalErrors ++;
- cmCTestLog(m_CTest, ERROR_MESSAGE, "There was an error: "
+ errorwarning.LogLine = 1;
+ errorwarning.Text = "*** ERROR executing: ";
+ errorwarning.Text += cmsysProcess_GetErrorString(cp);
+ errorwarning.PreContext = "";
+ errorwarning.PostContext = "";
+ errorwarning.Error = true;
+ this->ErrorsAndWarnings.push_back(errorwarning);
+ this->TotalErrors ++;
+ cmCTestLog(this->CTest, ERROR_MESSAGE, "There was an error: "
<< cmsysProcess_GetErrorString(cp) << std::endl);
}
@@ -720,7 +721,7 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
{
queue->push_back(*ptr);
}
- m_BuildOutputLogSize += length;
+ this->BuildOutputLogSize += length;
// until there are any lines left in the buffer
while ( 1 )
@@ -739,27 +740,27 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
// Once certain number of errors or warnings reached, ignore future errors
// or warnings.
- if ( m_TotalWarnings >= m_MaxWarnings )
+ if ( this->TotalWarnings >= this->MaxWarnings )
{
- m_WarningQuotaReached = true;
+ this->WarningQuotaReached = true;
}
- if ( m_TotalErrors >= m_MaxErrors )
+ if ( this->TotalErrors >= this->MaxErrors )
{
- m_ErrorQuotaReached = true;
+ this->ErrorQuotaReached = true;
}
// If the end of line was found
if ( it != queue->end() )
{
// Create a contiguous array for the line
- m_CurrentProcessingLine.clear();
+ this->CurrentProcessingLine.clear();
t_BuildProcessingQueueType::iterator cit;
for ( cit = queue->begin(); cit != it; ++cit )
{
- m_CurrentProcessingLine.push_back(*cit);
+ this->CurrentProcessingLine.push_back(*cit);
}
- m_CurrentProcessingLine.push_back(0);
- const char* line = &*m_CurrentProcessingLine.begin();
+ this->CurrentProcessingLine.push_back(0);
+ const char* line = &*this->CurrentProcessingLine.begin();
// Process the line
int lineType = this->ProcessSingleLine(line);
@@ -773,67 +774,67 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
switch ( lineType )
{
case b_WARNING_LINE:
- m_LastTickChar = '*';
- errorwarning.m_Error = false;
+ this->LastTickChar = '*';
+ errorwarning.Error = false;
found = true;
- m_TotalWarnings ++;
+ this->TotalWarnings ++;
break;
case b_ERROR_LINE:
- m_LastTickChar = '!';
- errorwarning.m_Error = true;
+ this->LastTickChar = '!';
+ errorwarning.Error = true;
found = true;
- m_TotalErrors ++;
+ this->TotalErrors ++;
break;
}
if ( found )
{
// This is an error or warning, so generate report
- errorwarning.m_LogLine = static_cast<int>(m_OutputLineCounter+1);
- errorwarning.m_Text = line;
- errorwarning.m_PreContext = "";
- errorwarning.m_PostContext = "";
+ errorwarning.LogLine = static_cast<int>(this->OutputLineCounter+1);
+ errorwarning.Text = line;
+ errorwarning.PreContext = "";
+ errorwarning.PostContext = "";
// Copy pre-context to report
std::deque<cmStdString>::iterator pcit;
- for ( pcit = m_PreContext.begin();
- pcit != m_PreContext.end();
+ for ( pcit = this->PreContext.begin();
+ pcit != this->PreContext.end();
++pcit )
{
- errorwarning.m_PreContext += *pcit + "\n";
+ errorwarning.PreContext += *pcit + "\n";
}
- m_PreContext.clear();
+ this->PreContext.clear();
// Store report
- m_ErrorsAndWarnings.push_back(errorwarning);
- m_LastErrorOrWarning = m_ErrorsAndWarnings.end()-1;
- m_PostContextCount = 0;
+ this->ErrorsAndWarnings.push_back(errorwarning);
+ this->LastErrorOrWarning = this->ErrorsAndWarnings.end()-1;
+ this->PostContextCount = 0;
}
else
{
// This is not an error or warning.
// So, figure out if this is a post-context line
- if ( m_LastErrorOrWarning != m_ErrorsAndWarnings.end() &&
- m_PostContextCount < m_MaxPostContext )
+ if ( this->LastErrorOrWarning != this->ErrorsAndWarnings.end() &&
+ this->PostContextCount < this->MaxPostContext )
{
- m_PostContextCount ++;
- m_LastErrorOrWarning->m_PostContext += line;
- if ( m_PostContextCount < m_MaxPostContext )
+ this->PostContextCount ++;
+ this->LastErrorOrWarning->PostContext += line;
+ if ( this->PostContextCount < this->MaxPostContext )
{
- m_LastErrorOrWarning->m_PostContext += "\n";
+ this->LastErrorOrWarning->PostContext += "\n";
}
}
else
{
// Otherwise store pre-context for the next error
- m_PreContext.push_back(line);
- if ( m_PreContext.size() > m_MaxPreContext )
+ this->PreContext.push_back(line);
+ if ( this->PreContext.size() > this->MaxPreContext )
{
- m_PreContext.erase(m_PreContext.begin(),
- m_PreContext.end()-m_MaxPreContext);
+ this->PreContext.erase(this->PreContext.begin(),
+ this->PreContext.end()-this->MaxPreContext);
}
}
}
- m_OutputLineCounter ++;
+ this->OutputLineCounter ++;
}
else
{
@@ -843,25 +844,26 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
// Now that the buffer is processed, display missing ticks
int tickDisplayed = false;
- while ( m_BuildOutputLogSize > (tick * tick_len) )
+ while ( this->BuildOutputLogSize > (tick * tick_len) )
{
tick ++;
- cmCTestLog(m_CTest, HANDLER_OUTPUT, m_LastTickChar);
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, this->LastTickChar);
tickDisplayed = true;
if ( tick % tick_line_len == 0 && tick > 0 )
{
- cmCTestLog(m_CTest, HANDLER_OUTPUT, " Size: "
- << int((m_BuildOutputLogSize / 1024.0) + 1) << "K" << std::endl
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, " Size: "
+ << int((this->BuildOutputLogSize / 1024.0) + 1) << "K" << std::endl
<< " ");
}
}
if ( tickDisplayed )
{
- m_LastTickChar = '.';
+ this->LastTickChar = '.';
}
// And if this is verbose output, display the content of the chunk
- cmCTestLog(m_CTest, HANDLER_VERBOSE_OUTPUT, cmCTestLogWrite(data, length));
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ cmCTestLogWrite(data, length));
// Always store the chunk to the file
ofs << cmCTestLogWrite(data, length);
@@ -870,7 +872,7 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
//----------------------------------------------------------------------
int cmCTestBuildHandler::ProcessSingleLine(const char* data)
{
- cmCTestLog(m_CTest, DEBUG, "Line: [" << data << "]" << std::endl);
+ cmCTestLog(this->CTest, DEBUG, "Line: [" << data << "]" << std::endl);
std::vector<cmsys::RegularExpression>::iterator it;
@@ -879,58 +881,59 @@ int cmCTestBuildHandler::ProcessSingleLine(const char* data)
// Check for regular expressions
- if ( !m_ErrorQuotaReached )
+ if ( !this->ErrorQuotaReached )
{
// Errors
- for ( it = m_ErrorMatchRegex.begin();
- it != m_ErrorMatchRegex.end();
+ for ( it = this->ErrorMatchRegex.begin();
+ it != this->ErrorMatchRegex.end();
++ it )
{
if ( it->find(data) )
{
errorLine = 1;
- cmCTestLog(m_CTest, DEBUG, " Error Line: " << data << std::endl);
+ cmCTestLog(this->CTest, DEBUG, " Error Line: " << data << std::endl);
break;
}
}
// Error exceptions
- for ( it = m_ErrorExceptionRegex.begin();
- it != m_ErrorExceptionRegex.end();
+ for ( it = this->ErrorExceptionRegex.begin();
+ it != this->ErrorExceptionRegex.end();
++ it )
{
if ( it->find(data) )
{
errorLine = 0;
- cmCTestLog(m_CTest, DEBUG, " Not an error Line: " << data
+ cmCTestLog(this->CTest, DEBUG, " Not an error Line: " << data
<< std::endl);
break;
}
}
}
- if ( !m_WarningQuotaReached )
+ if ( !this->WarningQuotaReached )
{
// Warnings
- for ( it = m_WarningMatchRegex.begin();
- it != m_WarningMatchRegex.end();
+ for ( it = this->WarningMatchRegex.begin();
+ it != this->WarningMatchRegex.end();
++ it )
{
if ( it->find(data) )
{
warningLine = 1;
- cmCTestLog(m_CTest, DEBUG, " Warning Line: " << data << std::endl);
+ cmCTestLog(this->CTest, DEBUG,
+ " Warning Line: " << data << std::endl);
break;
}
}
// Warning exceptions
- for ( it = m_WarningExceptionRegex.begin();
- it != m_WarningExceptionRegex.end();
+ for ( it = this->WarningExceptionRegex.begin();
+ it != this->WarningExceptionRegex.end();
++ it )
{
if ( it->find(data) )
{
warningLine = 0;
- cmCTestLog(m_CTest, DEBUG, " Not a warning Line: " << data
+ cmCTestLog(this->CTest, DEBUG, " Not a warning Line: " << data
<< std::endl);
break;
}