Commit 6727834a authored by Zach's avatar Zach
Browse files

BUG: Fixed extraneous newlines from ctest process output

parent 39e5f9d9
......@@ -90,7 +90,7 @@ void cmCTestMultiProcessHandler::SubmitBatchTests()
//---------------------------------------------------------
void cmCTestMultiProcessHandler::StartTestProcess(int test)
{
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, " test " << test << "\n");
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "test " << test << "\n");
this->TestRunningMap[test] = true; // mark the test as running
// now remove the test itself
this->EraseTest(test);
......
......@@ -93,26 +93,6 @@ int cmProcess::GetNextOutputLine(std::string& stdOutLine,
std::vector<char>::iterator erriter =
this->StdErrorBuffer.begin();
//If process terminated, flush the buffer
if(!running)
{
if(!this->StdErrorBuffer.empty())
{
gotStdErr = true;
stdErrLine.append(&this->StdErrorBuffer[0], this->StdErrorBuffer.size());
this->StdErrorBuffer.erase(this->StdErrorBuffer.begin(),
this->StdErrorBuffer.end());
}
if(!this->StdOutBuffer.empty())
{
gotStdOut = true;
stdOutLine.append(&this->StdOutBuffer[0], this->StdOutBuffer.size());
this->StdOutBuffer.erase(this->StdOutBuffer.begin(),
this->StdOutBuffer.end());
}
return cmsysProcess_Pipe_None;
}
// Check for a newline in stdout.
for(;outiter != this->StdOutBuffer.end(); ++outiter)
{
......@@ -162,6 +142,31 @@ int cmProcess::GetNextOutputLine(std::string& stdOutLine,
break;
}
}
if(!running && !gotStdErr && !gotStdOut)
{
//If process terminated with no newline, flush the buffer
if(!running)
{
if(!this->StdErrorBuffer.empty())
{
gotStdErr = true;
stdErrLine.append(&this->StdErrorBuffer[0],
this->StdErrorBuffer.size());
this->StdErrorBuffer.erase(this->StdErrorBuffer.begin(),
this->StdErrorBuffer.end());
}
if(!this->StdOutBuffer.empty())
{
gotStdOut = true;
stdOutLine.append(&this->StdOutBuffer[0],
this->StdOutBuffer.size());
this->StdOutBuffer.erase(this->StdOutBuffer.begin(),
this->StdOutBuffer.end());
}
return cmsysProcess_Pipe_None;
}
}
//If we get here, we have stuff waiting in the buffers, but no newline
return this->LastOutputPipe;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment