From 4e4dea840dcc39a1fa8df6534a17c5829c223312 Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Mon, 1 Oct 2018 11:34:32 +0200 Subject: [PATCH] finished c++ versioning --- common/cpp/include/common/version.h.in | 8 ++++++-- .../producer/dummy-data-producer/dummy_data_producer.cpp | 2 +- examples/worker/getnext_broker/getnext_broker.cpp | 2 +- examples/worker/process_folder/process_folder.cpp | 2 +- producer/event_monitor_producer/src/main_eventmon.cpp | 4 ++-- receiver/src/main.cpp | 3 ++- receiver/src/request_handler_authorize.cpp | 3 +++ receiver/unittests/test_request_handler_authorizer.cpp | 6 +++++- 8 files changed, 21 insertions(+), 9 deletions(-) diff --git a/common/cpp/include/common/version.h.in b/common/cpp/include/common/version.h.in index 15ecfac7b..1ca92fd87 100644 --- a/common/cpp/include/common/version.h.in +++ b/common/cpp/include/common/version.h.in @@ -2,13 +2,17 @@ #define ASAPO_VERSION_H #include <iostream> +#include "string.h" namespace asapo { const char kVersion[] = "@VERSION@"; -inline void PrintVersion(std::string prefix) { - std::cout << prefix << ", version " << kVersion << std::endl; +inline void ExitAfterPrintVersionIfNeeded(std::string prefix,int argc, char* argv[]) { + if (argc == 2 && strcmp(argv[1], "-v") == 0) { + std::cout << prefix << ", version " << kVersion << std::endl; + exit(0); + } } } diff --git a/examples/producer/dummy-data-producer/dummy_data_producer.cpp b/examples/producer/dummy-data-producer/dummy_data_producer.cpp index c2936de2f..80b010f4c 100644 --- a/examples/producer/dummy-data-producer/dummy_data_producer.cpp +++ b/examples/producer/dummy-data-producer/dummy_data_producer.cpp @@ -35,7 +35,7 @@ void PrintCommandArguments(const Args& args) { void ProcessCommandArguments(int argc, char* argv[], Args* args) { - asapo::PrintVersion("Dummy Data Producer"); + asapo::ExitAfterPrintVersionIfNeeded("Dummy Data Producer", argc, argv); if (argc != 8) { std::cout << "Usage: " << argv[0] << diff --git a/examples/worker/getnext_broker/getnext_broker.cpp b/examples/worker/getnext_broker/getnext_broker.cpp index 0a08959dc..84cbe726f 100644 --- a/examples/worker/getnext_broker/getnext_broker.cpp +++ b/examples/worker/getnext_broker/getnext_broker.cpp @@ -79,7 +79,7 @@ int ReadAllData(const Params& params, uint64_t* duration_ms) { } int main(int argc, char* argv[]) { - asapo::PrintVersion("GetNext Broker Example"); + asapo::ExitAfterPrintVersionIfNeeded("GetNext Broker Example", argc, argv); if (argc != 6) { std::cout << "Usage: " + std::string{argv[0]} +" <server> <run_name> <nthreads> <token> <timeout ms>" << std::endl; exit(EXIT_FAILURE); diff --git a/examples/worker/process_folder/process_folder.cpp b/examples/worker/process_folder/process_folder.cpp index 5adb1bc1f..63a6955dd 100644 --- a/examples/worker/process_folder/process_folder.cpp +++ b/examples/worker/process_folder/process_folder.cpp @@ -84,7 +84,7 @@ void PrintStatistics(const Statistics& statistics) { int main(int argc, char* argv[]) { - asapo::PrintVersion("Process Folder Broker Example"); + asapo::ExitAfterPrintVersionIfNeeded("Process Folder Broker Example", argc, argv); std::string folder = ProcessCommandArguments(argc, argv); auto broker = CreateBroker(folder); diff --git a/producer/event_monitor_producer/src/main_eventmon.cpp b/producer/event_monitor_producer/src/main_eventmon.cpp index 3e4d677f7..4191bfbd4 100644 --- a/producer/event_monitor_producer/src/main_eventmon.cpp +++ b/producer/event_monitor_producer/src/main_eventmon.cpp @@ -74,7 +74,7 @@ void SignalHandler(int signal) { int main (int argc, char* argv[]) { - asapo::PrintVersion("ASAPO Event Monitor"); + asapo::ExitAfterPrintVersionIfNeeded("ASAPO Event Monitor", argc, argv); auto err = ReadConfigFile(argc, argv); if (err) { @@ -96,7 +96,7 @@ int main (int argc, char* argv[]) { auto producer = CreateProducer(); asapo::EventDetectorFactory factory; auto event_detector = factory.CreateEventDetector(); - + logger->Info(std::string("starting ASAPO Event Monitor, version ") + asapo::kVersion); err = event_detector->StartMonitoring(); if (err) { logger->Error(err->Explain()); diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index c0e6af486..72d45a960 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -17,7 +17,7 @@ asapo::Error ReadConfigFile(int argc, char* argv[]) { } int main (int argc, char* argv[]) { - asapo::PrintVersion("ASAPO Receiver"); + asapo::ExitAfterPrintVersionIfNeeded("ASAPO Receiver", argc, argv); auto err = ReadConfigFile(argc, argv); const auto& logger = asapo::GetDefaultReceiverLogger(); @@ -35,6 +35,7 @@ int main (int argc, char* argv[]) { auto* receiver = new asapo::Receiver(); + logger->Info(std::string("starting receiver, version ") + asapo::kVersion); logger->Info("listening on " + address); receiver->Listen(address, &err); if(err) { diff --git a/receiver/src/request_handler_authorize.cpp b/receiver/src/request_handler_authorize.cpp index 597584601..00f932b82 100644 --- a/receiver/src/request_handler_authorize.cpp +++ b/receiver/src/request_handler_authorize.cpp @@ -48,6 +48,9 @@ Error RequestHandlerAuthorize::Authorize(Request* request, const char* beamtime_ (err = parser.GetString("Beamline", &beamline_)); if (err) { return ErrorFromServerResponse(err, code); + } else { + log__->Debug(std::string("authorized connection from ") + request->GetOriginUri() + " beamline: " + + beamline_ + ", beamtime id: " + beamtime_id_); } return nullptr; diff --git a/receiver/unittests/test_request_handler_authorizer.cpp b/receiver/unittests/test_request_handler_authorizer.cpp index 3fabc8000..f6523f281 100644 --- a/receiver/unittests/test_request_handler_authorizer.cpp +++ b/receiver/unittests/test_request_handler_authorizer.cpp @@ -110,8 +110,12 @@ class AuthorizerHandlerTests : public Test { HasSubstr(expected_beamtime_id), HasSubstr(expected_producer_uri), HasSubstr(expected_authorization_server)))); + } else { + EXPECT_CALL(mock_logger, Debug(AllOf(HasSubstr("authorized"), + HasSubstr(expected_beamtime_id), + HasSubstr(expected_beamline), + HasSubstr(expected_producer_uri)))); } - } -- GitLab