From 7475921ff89f3c0a9053952fa7ca60de5ac4ed83 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 15 May 2025 07:58:16 -0400 Subject: [PATCH 1/5] cmCTestSubmitHandler: Inline and remove method called only once --- Source/CTest/cmCTestSubmitHandler.cxx | 2 +- Source/CTest/cmCTestSubmitHandler.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 37aba0e0fa..595e32ee09 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -835,7 +835,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, diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 221c958014..7dee7a1186 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -46,8 +46,6 @@ public: } private: - void SetLogFile(std::ostream* ost) { this->LogFile = ost; } - /** * Submit file using various ways */ From 8f698e170859d53659f975b8636685abce4c25aa Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 15 May 2025 08:02:26 -0400 Subject: [PATCH 2/5] cmCTestSubmitHandler: Open log file earlier --- Source/CTest/cmCTestSubmitHandler.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 595e32ee09..2c35e92b64 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -715,6 +715,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 +750,6 @@ int cmCTestSubmitHandler::ProcessHandler() " Use HTTP Proxy: " << this->HTTPProxy << std::endl, this->Quiet); } - cmGeneratedFileStream ofs; - this->StartLogFile("Submit", ofs); std::vector files; std::string prefix = this->GetSubmitResultsPrefix(); From 2a9cfc2da37d71f2b8560052d661f385f4f752c0 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 15 May 2025 08:04:41 -0400 Subject: [PATCH 3/5] cmCTestSubmitHandler: Remove unnecessary type alias --- Source/CTest/cmCTestSubmitHandler.cxx | 15 +++++---------- Source/CTest/cmCTestSubmitHandler.h | 5 +---- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 2c35e92b64..d0d9ca9161 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -32,8 +32,6 @@ #define SUBMIT_TIMEOUT_IN_SECONDS_DEFAULT 120 -using cmCTestSubmitHandlerVectorOfChar = std::vector; - class cmCTestSubmitHandler::ResponseParser : public cmXMLParser { public: @@ -101,8 +99,7 @@ static size_t cmCTestSubmitHandlerWriteMemoryCallback(void* ptr, size_t size, { int realsize = static_cast(size * nmemb); char const* chPtr = static_cast(ptr); - cm::append(*static_cast(data), chPtr, - chPtr + realsize); + cm::append(*static_cast*>(data), chPtr, chPtr + realsize); return realsize; } @@ -111,8 +108,7 @@ static size_t cmCTestSubmitHandlerCurlDebugCallback(CURL* /*unused*/, char* chPtr, size_t size, void* data) { - cm::append(*static_cast(data), chPtr, - chPtr + size); + cm::append(*static_cast*>(data), chPtr, chPtr + size); return 0; } @@ -321,8 +317,8 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP( cmCTestSubmitHandlerCurlDebugCallback); /* we pass our 'chunk' struct to the callback function */ - cmCTestSubmitHandlerVectorOfChar chunk; - cmCTestSubmitHandlerVectorOfChar chunkDebug; + std::vector chunk; + std::vector chunkDebug; ::curl_easy_setopt(curl, CURLOPT_FILE, &chunk); ::curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &chunkDebug); @@ -447,8 +443,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP( return true; } -void cmCTestSubmitHandler::ParseResponse( - cmCTestSubmitHandlerVectorOfChar chunk) +void cmCTestSubmitHandler::ParseResponse(std::vector chunk) { std::string output; output.append(chunk.begin(), chunk.end()); diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 7dee7a1186..3309a8cf78 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -53,10 +53,7 @@ private: std::vector const& files, std::string const& remoteprefix, std::string const& url); - - using cmCTestSubmitHandlerVectorOfChar = std::vector; - - void ParseResponse(cmCTestSubmitHandlerVectorOfChar chunk); + void ParseResponse(std::vector chunk); std::string GetSubmitResultsPrefix(); int GetSubmitInactivityTimeout(); From 78f0b2aeedda89328439fb697981b7dda8dd6a82 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 15 May 2025 08:07:16 -0400 Subject: [PATCH 4/5] cmCTestSubmitHandler: Make internal method private --- Source/CTest/cmCTestSubmitHandler.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 3309a8cf78..26eb327f58 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -37,9 +37,6 @@ public: /** Specify a set of files to submit. */ void SelectFiles(std::set const& files); - // handle the cdash file upload protocol - int HandleCDashUploadFile(std::string const& file, std::string const& type); - void SetHttpHeaders(std::vector const& v) { this->HttpHeaders.insert(this->HttpHeaders.end(), v.begin(), v.end()); @@ -55,6 +52,9 @@ private: std::string const& url); void ParseResponse(std::vector chunk); + // handle the cdash file upload protocol + int HandleCDashUploadFile(std::string const& file, std::string const& type); + std::string GetSubmitResultsPrefix(); int GetSubmitInactivityTimeout(); From afd6c2966e661aac5bc31cfd2059b94f48e358fa Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 15 May 2025 08:08:00 -0400 Subject: [PATCH 5/5] cmCTestSubmitHandler: Move internal helpers to anonymous namespace --- Source/CTest/cmCTestSubmitHandler.cxx | 17 ++++++++++------- Source/CTest/cmCTestSubmitHandler.h | 2 -- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index d0d9ca9161..200ba038c2 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -32,7 +32,8 @@ #define SUBMIT_TIMEOUT_IN_SECONDS_DEFAULT 120 -class cmCTestSubmitHandler::ResponseParser : public cmXMLParser +namespace { +class ResponseParser : public cmXMLParser { public: enum StatusType @@ -94,8 +95,8 @@ 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(size * nmemb); char const* chPtr = static_cast(ptr); @@ -103,15 +104,17 @@ static size_t cmCTestSubmitHandlerWriteMemoryCallback(void* ptr, size_t size, 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*>(data), chPtr, chPtr + size); return 0; } +} + cmCTestSubmitHandler::cmCTestSubmitHandler(cmCTest* ctest) : Superclass(ctest) , HttpHeaders(ctest->GetCommandLineHttpHeaders()) diff --git a/Source/CTest/cmCTestSubmitHandler.h b/Source/CTest/cmCTestSubmitHandler.h index 26eb327f58..936b6667ab 100644 --- a/Source/CTest/cmCTestSubmitHandler.h +++ b/Source/CTest/cmCTestSubmitHandler.h @@ -58,8 +58,6 @@ private: std::string GetSubmitResultsPrefix(); int GetSubmitInactivityTimeout(); - class ResponseParser; - std::string HTTPProxy; int HTTPProxyType = 0; std::string HTTPProxyAuth;