/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCTestUploadCommand.h" #include #include #include "cmCTest.h" #include "cmCTestGenericHandler.h" #include "cmCTestUploadHandler.h" #include "cmMakefile.h" #include "cmMessageType.h" #include "cmSystemTools.h" cmCTestGenericHandler* cmCTestUploadCommand::InitializeHandler() { cmCTestGenericHandler* handler = this->CTest->GetInitializedHandler("upload"); if (!handler) { this->SetError("internal CTest error. Cannot instantiate upload handler"); return nullptr; } static_cast(handler)->SetFiles(this->Files); handler->SetQuiet(this->Quiet); return handler; } bool cmCTestUploadCommand::CheckArgumentKeyword(std::string const& arg) { if (arg == "FILES") { this->ArgumentDoing = ArgumentDoingFiles; return true; } if (arg == "QUIET") { this->ArgumentDoing = ArgumentDoingNone; this->Quiet = true; return true; } if (arg == "CAPTURE_CMAKE_ERROR") { this->ArgumentDoing = ArgumentDoingCaptureCMakeError; return true; } return false; } bool cmCTestUploadCommand::CheckArgumentValue(std::string const& arg) { if (this->ArgumentDoing == ArgumentDoingCaptureCMakeError) { this->Values[ct_CAPTURE_CMAKE_ERROR] = arg.c_str(); return true; } if (this->ArgumentDoing == ArgumentDoingFiles) { if (cmSystemTools::FileExists(arg)) { this->Files.insert(arg); return true; } std::ostringstream e; e << "File \"" << arg << "\" does not exist. Cannot submit " << "a non-existent file."; this->Makefile->IssueMessage(MessageType::FATAL_ERROR, e.str()); this->ArgumentDoing = ArgumentDoingError; return false; } // Look for other arguments. return this->Superclass::CheckArgumentValue(arg); }