123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #ifndef cmCTestLaunch_h
- #define cmCTestLaunch_h
- #include "cmConfigure.h"
- #include "cmsys/RegularExpression.hxx"
- #include <set>
- #include <string>
- #include <vector>
- class cmXMLWriter;
- class cmCTestLaunch
- {
- public:
-
- static int Main(int argc, const char* const argv[]);
- private:
-
- cmCTestLaunch(int argc, const char* const* argv);
- ~cmCTestLaunch();
-
- int Run();
- void RunChild();
-
- bool IsError() const;
- bool CheckResults();
-
- std::string OptionOutput;
- std::string OptionSource;
- std::string OptionLanguage;
- std::string OptionTargetName;
- std::string OptionTargetType;
- std::string OptionBuildDir;
- std::string OptionFilterPrefix;
- bool ParseArguments(int argc, const char* const* argv);
-
- int RealArgC;
- const char* const* RealArgV;
- std::string CWD;
-
- std::vector<std::string> RealArgs;
- void HandleRealArg(const char* arg);
-
- std::string LogHash;
- void ComputeFileNames();
- bool Passthru;
- struct cmsysProcess_s* Process;
- int ExitCode;
-
- std::string LogDir;
- std::string LogOut;
- std::string LogErr;
- bool HaveOut;
- bool HaveErr;
-
- std::set<std::string> Labels;
- void LoadLabels();
- bool SourceMatches(std::string const& lhs, std::string const& rhs);
-
- bool ScrapeRulesLoaded;
- std::vector<cmsys::RegularExpression> RegexWarning;
- std::vector<cmsys::RegularExpression> RegexWarningSuppress;
- void LoadScrapeRules();
- void LoadScrapeRules(const char* purpose,
- std::vector<cmsys::RegularExpression>& regexps);
- bool ScrapeLog(std::string const& fname);
- bool Match(std::string const& line,
- std::vector<cmsys::RegularExpression>& regexps);
- bool MatchesFilterPrefix(std::string const& line) const;
-
- void WriteXML();
- void WriteXMLAction(cmXMLWriter& xml);
- void WriteXMLCommand(cmXMLWriter& xml);
- void WriteXMLResult(cmXMLWriter& xml);
- void WriteXMLLabels(cmXMLWriter& xml);
- void DumpFileToXML(cmXMLWriter& xml, std::string const& fname);
-
- void LoadConfig();
- std::string SourceDir;
- };
- #endif
|