|
@@ -14,6 +14,7 @@
|
|
|
#include "cmsys/Process.h"
|
|
#include "cmsys/Process.h"
|
|
|
|
|
|
|
|
#include "cmCTest.h"
|
|
#include "cmCTest.h"
|
|
|
|
|
+#include "cmCTestLaunchReporter.h"
|
|
|
#include "cmDuration.h"
|
|
#include "cmDuration.h"
|
|
|
#include "cmFileTimeCache.h"
|
|
#include "cmFileTimeCache.h"
|
|
|
#include "cmGeneratedFileStream.h"
|
|
#include "cmGeneratedFileStream.h"
|
|
@@ -887,15 +888,28 @@ int cmCTestBuildHandler::RunMakeCommand(const std::string& command,
|
|
|
if (*retVal) {
|
|
if (*retVal) {
|
|
|
// If there was an error running command, report that on the
|
|
// If there was an error running command, report that on the
|
|
|
// dashboard.
|
|
// dashboard.
|
|
|
- cmCTestBuildErrorWarning errorwarning;
|
|
|
|
|
- errorwarning.LogLine = 1;
|
|
|
|
|
- errorwarning.Text = cmStrCat(
|
|
|
|
|
- "*** WARNING non-zero return value in ctest from: ", argv[0]);
|
|
|
|
|
- errorwarning.PreContext.clear();
|
|
|
|
|
- errorwarning.PostContext.clear();
|
|
|
|
|
- errorwarning.Error = false;
|
|
|
|
|
- this->ErrorsAndWarnings.push_back(std::move(errorwarning));
|
|
|
|
|
- this->TotalWarnings++;
|
|
|
|
|
|
|
+ if (this->UseCTestLaunch) {
|
|
|
|
|
+ cmCTestLaunchReporter reporter;
|
|
|
|
|
+ reporter.RealArgs = args;
|
|
|
|
|
+ reporter.ComputeFileNames();
|
|
|
|
|
+ reporter.ExitCode = *retVal;
|
|
|
|
|
+ reporter.Process = cp;
|
|
|
|
|
+ // Use temporary BuildLog file to populate this error for CDash.
|
|
|
|
|
+ ofs.flush();
|
|
|
|
|
+ reporter.LogOut = this->LogFileNames["Build"];
|
|
|
|
|
+ reporter.LogOut += ".tmp";
|
|
|
|
|
+ reporter.WriteXML();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ cmCTestBuildErrorWarning errorwarning;
|
|
|
|
|
+ errorwarning.LogLine = 1;
|
|
|
|
|
+ errorwarning.Text = cmStrCat(
|
|
|
|
|
+ "*** WARNING non-zero return value in ctest from: ", argv[0]);
|
|
|
|
|
+ errorwarning.PreContext.clear();
|
|
|
|
|
+ errorwarning.PostContext.clear();
|
|
|
|
|
+ errorwarning.Error = false;
|
|
|
|
|
+ this->ErrorsAndWarnings.push_back(std::move(errorwarning));
|
|
|
|
|
+ this->TotalWarnings++;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else if (result == cmsysProcess_State_Exception) {
|
|
} else if (result == cmsysProcess_State_Exception) {
|