diff options
author | Brad King <brad.king@kitware.com> | 2009-02-11 20:18:08 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-02-11 20:18:08 (GMT) |
commit | 7497fd575d0bd12e07a6145715a63ce8330a454f (patch) | |
tree | ce2b499346edca70b285247755fe03fb62e1941d /Source/CTest/cmCTestBuildHandler.h | |
parent | dbe135f20e81cbe6e92888d86e2bc7e95f0b91dd (diff) | |
download | CMake-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.h | 12 |
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 |