summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestBuildHandler.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-02-11 20:18:08 (GMT)
committerBrad King <brad.king@kitware.com>2009-02-11 20:18:08 (GMT)
commit7497fd575d0bd12e07a6145715a63ce8330a454f (patch)
treece2b499346edca70b285247755fe03fb62e1941d /Source/CTest/cmCTestBuildHandler.h
parentdbe135f20e81cbe6e92888d86e2bc7e95f0b91dd (diff)
downloadCMake-7497fd575d0bd12e07a6145715a63ce8330a454f.zip
CMake-7497fd575d0bd12e07a6145715a63ce8330a454f.tar.gz
CMake-7497fd575d0bd12e07a6145715a63ce8330a454f.tar.bz2
ENH: Teach CTest dashboard builds to use launchers
This defines a 'UseLaunchers' CTest configuration option. When enabled, CTest skips log scraping from the Build step output. Instead it defines the environment variable CTEST_LAUNCH_LOGS to a log directory during the build. After the build it looks for error-*.xml and warning-*.xml files containing fragments for inclusion in Build.xml and submission. This is useful in conjuction with 'ctest --launch' and the RULE_LAUNCH_* properties to get reliable, highly-granular build failure reports.
Diffstat (limited to 'Source/CTest/cmCTestBuildHandler.h')
-rw-r--r--Source/CTest/cmCTestBuildHandler.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestBuildHandler.h b/Source/CTest/cmCTestBuildHandler.h
index a922977..42a1551 100644
--- a/Source/CTest/cmCTestBuildHandler.h
+++ b/Source/CTest/cmCTestBuildHandler.h
@@ -87,8 +87,12 @@ private:
// generate the XML output
void GenerateXMLHeader(std::ostream& os);
+ void GenerateXMLLaunched(std::ostream& os);
void GenerateXMLLogScraped(std::ostream& os);
void GenerateXMLFooter(std::ostream& os, double elapsed_build_time);
+ void GenerateXMLLaunchedFragment(std::ostream& os, const char* fname);
+ bool IsLaunchedErrorFile(const char* fname);
+ bool IsLaunchedWarningFile(const char* fname);
std::string StartBuild;
std::string EndBuild;
@@ -99,6 +103,8 @@ private:
std::vector<cmStdString> CustomErrorExceptions;
std::vector<cmStdString> CustomWarningMatches;
std::vector<cmStdString> CustomWarningExceptions;
+ std::vector<std::string> ReallyCustomWarningMatches;
+ std::vector<std::string> ReallyCustomWarningExceptions;
std::vector<cmCTestCompileErrorWarningRex> ErrorWarningFileLineRegex;
std::vector<cmsys::RegularExpression> ErrorMatchRegex;
@@ -137,6 +143,12 @@ private:
int MaxErrors;
int MaxWarnings;
+
+ bool UseCTestLaunch;
+ std::string CTestLaunchDir;
+ class LaunchHelper;
+ friend class LaunchHelper;
+ class FragmentCompare;
};
#endif