Browse Source

Merge topic 'ctest-submit-cleanup'

afd6c2966e cmCTestSubmitHandler: Move internal helpers to anonymous namespace
78f0b2aeed cmCTestSubmitHandler: Make internal method private
2a9cfc2da3 cmCTestSubmitHandler: Remove unnecessary type alias
8f698e1708 cmCTestSubmitHandler: Open log file earlier
7475921ff8 cmCTestSubmitHandler: Inline and remove method called only once

Acked-by: Kitware Robot <[email protected]>
Merge-request: !10815
Brad King 8 months ago
parent
commit
c834f85ab0
2 changed files with 22 additions and 30 deletions
  1. 19 20
      Source/CTest/cmCTestSubmitHandler.cxx
  2. 3 10
      Source/CTest/cmCTestSubmitHandler.h

+ 19 - 20
Source/CTest/cmCTestSubmitHandler.cxx

@@ -32,9 +32,8 @@
 
 #define SUBMIT_TIMEOUT_IN_SECONDS_DEFAULT 120
 
-using cmCTestSubmitHandlerVectorOfChar = std::vector<char>;
-
-class cmCTestSubmitHandler::ResponseParser : public cmXMLParser
+namespace {
+class ResponseParser : public cmXMLParser
 {
 public:
   enum StatusType
@@ -96,26 +95,26 @@ private:
   }
 };
 
-static size_t cmCTestSubmitHandlerWriteMemoryCallback(void* ptr, size_t size,
-                                                      size_t nmemb, void* data)
+size_t cmCTestSubmitHandlerWriteMemoryCallback(void* ptr, size_t size,
+                                               size_t nmemb, void* data)
 {
   int realsize = static_cast<int>(size * nmemb);
   char const* chPtr = static_cast<char*>(ptr);
-  cm::append(*static_cast<cmCTestSubmitHandlerVectorOfChar*>(data), chPtr,
-             chPtr + realsize);
+  cm::append(*static_cast<std::vector<char>*>(data), chPtr, chPtr + realsize);
   return realsize;
 }
 
-static size_t cmCTestSubmitHandlerCurlDebugCallback(CURL* /*unused*/,
-                                                    curl_infotype /*unused*/,
-                                                    char* chPtr, size_t size,
-                                                    void* data)
+size_t cmCTestSubmitHandlerCurlDebugCallback(CURL* /*unused*/,
+                                             curl_infotype /*unused*/,
+                                             char* chPtr, size_t size,
+                                             void* data)
 {
-  cm::append(*static_cast<cmCTestSubmitHandlerVectorOfChar*>(data), chPtr,
-             chPtr + size);
+  cm::append(*static_cast<std::vector<char>*>(data), chPtr, chPtr + size);
   return 0;
 }
 
+}
+
 cmCTestSubmitHandler::cmCTestSubmitHandler(cmCTest* ctest)
   : Superclass(ctest)
   , HttpHeaders(ctest->GetCommandLineHttpHeaders())
@@ -321,8 +320,8 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(
                          cmCTestSubmitHandlerCurlDebugCallback);
 
       /* we pass our 'chunk' struct to the callback function */
-      cmCTestSubmitHandlerVectorOfChar chunk;
-      cmCTestSubmitHandlerVectorOfChar chunkDebug;
+      std::vector<char> chunk;
+      std::vector<char> chunkDebug;
       ::curl_easy_setopt(curl, CURLOPT_FILE, &chunk);
       ::curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &chunkDebug);
 
@@ -447,8 +446,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(
   return true;
 }
 
-void cmCTestSubmitHandler::ParseResponse(
-  cmCTestSubmitHandlerVectorOfChar chunk)
+void cmCTestSubmitHandler::ParseResponse(std::vector<char> chunk)
 {
   std::string output;
   output.append(chunk.begin(), chunk.end());
@@ -715,6 +713,9 @@ int cmCTestSubmitHandler::ProcessHandler()
     return -1;
   }
 
+  cmGeneratedFileStream ofs;
+  this->StartLogFile("Submit", ofs);
+
   if (char const* proxy = getenv("HTTP_PROXY")) {
     this->HTTPProxyType = 1;
     this->HTTPProxy = proxy;
@@ -747,8 +748,6 @@ int cmCTestSubmitHandler::ProcessHandler()
                        "   Use HTTP Proxy: " << this->HTTPProxy << std::endl,
                        this->Quiet);
   }
-  cmGeneratedFileStream ofs;
-  this->StartLogFile("Submit", ofs);
 
   std::vector<std::string> files;
   std::string prefix = this->GetSubmitResultsPrefix();
@@ -835,7 +834,7 @@ int cmCTestSubmitHandler::ProcessHandler()
                        "   Send to group: " << specificGroup << std::endl,
                        this->Quiet);
   }
-  this->SetLogFile(&ofs);
+  this->LogFile = &ofs;
 
   std::string url = this->CTest->GetSubmitURL();
   cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT,

+ 3 - 10
Source/CTest/cmCTestSubmitHandler.h

@@ -37,17 +37,12 @@ public:
   /** Specify a set of files to submit.  */
   void SelectFiles(std::set<std::string> const& files);
 
-  // handle the cdash file upload protocol
-  int HandleCDashUploadFile(std::string const& file, std::string const& type);
-
   void SetHttpHeaders(std::vector<std::string> const& v)
   {
     this->HttpHeaders.insert(this->HttpHeaders.end(), v.begin(), v.end());
   }
 
 private:
-  void SetLogFile(std::ostream* ost) { this->LogFile = ost; }
-
   /**
    * Submit file using various ways
    */
@@ -55,16 +50,14 @@ private:
                        std::vector<std::string> const& files,
                        std::string const& remoteprefix,
                        std::string const& url);
+  void ParseResponse(std::vector<char> chunk);
 
-  using cmCTestSubmitHandlerVectorOfChar = std::vector<char>;
-
-  void ParseResponse(cmCTestSubmitHandlerVectorOfChar chunk);
+  // handle the cdash file upload protocol
+  int HandleCDashUploadFile(std::string const& file, std::string const& type);
 
   std::string GetSubmitResultsPrefix();
   int GetSubmitInactivityTimeout();
 
-  class ResponseParser;
-
   std::string HTTPProxy;
   int HTTPProxyType = 0;
   std::string HTTPProxyAuth;