diff options
author | Bryon Bean <bryon.bean@kitware.com> | 2017-12-10 17:06:35 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-01-10 15:19:14 (GMT) |
commit | b5e21d7d2ed3168c9efcbc25c67d2c330d76d4d0 (patch) | |
tree | 15610190a02639271ec13ab1610ad398383fdd93 /Source/CTest/cmCTestRunTest.h | |
parent | fcebff75f912f50bdc7fd30f4185141255ba4b1f (diff) | |
download | CMake-b5e21d7d2ed3168c9efcbc25c67d2c330d76d4d0.zip CMake-b5e21d7d2ed3168c9efcbc25c67d2c330d76d4d0.tar.gz CMake-b5e21d7d2ed3168c9efcbc25c67d2c330d76d4d0.tar.bz2 |
CTest: Re-implement test process handling using libuv
Co-Author: Brad King <brad.king@kitware.com>
Diffstat (limited to 'Source/CTest/cmCTestRunTest.h')
-rw-r--r-- | Source/CTest/cmCTestRunTest.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/CTest/cmCTestRunTest.h b/Source/CTest/cmCTestRunTest.h index bde93da..fbc202f 100644 --- a/Source/CTest/cmCTestRunTest.h +++ b/Source/CTest/cmCTestRunTest.h @@ -12,9 +12,10 @@ #include <vector> #include "cmCTestTestHandler.h" +#include "cmProcess.h" // IWYU pragma: keep (for unique_ptr) class cmCTest; -class cmProcess; +class cmCTestMultiProcessHandler; /** \class cmRunTest * \brief represents a single test to be run @@ -24,7 +25,7 @@ class cmProcess; class cmCTestRunTest { public: - explicit cmCTestRunTest(cmCTestTestHandler* handler); + explicit cmCTestRunTest(cmCTestMultiProcessHandler& multiHandler); ~cmCTestRunTest() = default; @@ -57,7 +58,7 @@ public: } // Read and store output. Returns true if it must be called again. - bool CheckOutput(); + void CheckOutput(std::string const& line); // Compresses the output, writing to CompressedOutput void CompressOutput(); @@ -73,6 +74,10 @@ public: bool StartAgain(); + cmCTest* GetCTest() const { return this->CTest; } + + void FinalizeTest(); + private: bool NeedsToRerun(); void DartProcessing(); @@ -88,12 +93,13 @@ private: // Pointer back to the "parent"; the handler that invoked this test run cmCTestTestHandler* TestHandler; cmCTest* CTest; - cmProcess* TestProcess; + std::unique_ptr<cmProcess> TestProcess; std::string ProcessOutput; std::string CompressedOutput; double CompressionRatio; // The test results cmCTestTestHandler::cmCTestTestResult TestResult; + cmCTestMultiProcessHandler& MultiTestHandler; int Index; std::set<std::string> FailedDependencies; std::string StartTime; |