This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch feature/link_zmq_in_rsa_test in repository https://gitbox.apache.org/repos/asf/celix.git
commit d3f17bef6f33d0c7d0d1c11e85832fdfc7241edd Author: Pepijn Noltes <[email protected]> AuthorDate: Mon Jun 7 17:30:04 2021 +0200 Updates ZMQ use in RSA to pubsub_zmq_v2 and adds missing linking to zmq libs --- bundles/cxx_remote_services/CMakeLists.txt | 9 ++++++++- bundles/cxx_remote_services/integration/CMakeLists.txt | 10 +++++----- bundles/cxx_remote_services/integration/gtest/CMakeLists.txt | 6 +++--- bundles/pubsub/pubsub_admin_tcp/v2/src/pubsub_tcp_admin.c | 1 + 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/bundles/cxx_remote_services/CMakeLists.txt b/bundles/cxx_remote_services/CMakeLists.txt index d768861..f09ae80 100644 --- a/bundles/cxx_remote_services/CMakeLists.txt +++ b/bundles/cxx_remote_services/CMakeLists.txt @@ -21,7 +21,14 @@ if (REMOTE_SERVICE_ADMIN) add_subdirectory(rsa_spi) add_subdirectory(admin) add_subdirectory(discovery_configured) - add_subdirectory(integration) + + find_package(ZMQ) + find_package(CZMQ) + if (ZMQ_FOUND AND CZMQ_FOUND) + add_subdirectory(integration) + else () + message(STATUS "C++ RSA integration test will not be build, because they require zmq and czmq") + endif () #NOTE the topology manager is not yet used. The discovery and RSA need to be refactor for this #add_subdirectory(topology_manager) diff --git a/bundles/cxx_remote_services/integration/CMakeLists.txt b/bundles/cxx_remote_services/integration/CMakeLists.txt index f5bf8c9..4b578ce 100644 --- a/bundles/cxx_remote_services/integration/CMakeLists.txt +++ b/bundles/cxx_remote_services/integration/CMakeLists.txt @@ -21,7 +21,6 @@ add_celix_bundle(TestExportImportRemoteServiceFactory target_link_libraries(TestExportImportRemoteServiceFactory PRIVATE Celix::rsa_spi Celix::pubsub_api Celix::Promises Celix::log_helper) target_compile_options(TestExportImportRemoteServiceFactory PRIVATE -std=c++17) #TODO how can this be improved (bring back -std=c++17 on INTERFACE for promises? target_include_directories(TestExportImportRemoteServiceFactory PRIVATE include) -#TODO improve with serializer svc, for now using descriptors celix_bundle_files(TestExportImportRemoteServiceFactory resources/Calculator$add$Invoke.descriptor resources/Calculator$add$Return.descriptor @@ -61,8 +60,7 @@ add_celix_container(RemoteCalculatorProvider #Pubsub needed for remote services on pubsub Celix::pubsub_serializer_json Celix::pubsub_topology_manager - #TODO replace with v1 when marker interfaces for a serializer type are introduced Celix::pubsub_admin_zmq_v2 - Celix::pubsub_admin_zmq + Celix::pubsub_admin_zmq_v2 Celix::pubsub_protocol_wire_v2 Celix::pubsub_discovery_etcd @@ -72,6 +70,7 @@ add_celix_container(RemoteCalculatorProvider CalculatorProvider ) +target_link_libraries(RemoteCalculatorProvider PRIVATE ZMQ::lib CZMQ::lib) add_celix_container(RemoteCalculatorConsumer GROUP rsa @@ -85,7 +84,7 @@ add_celix_container(RemoteCalculatorConsumer Celix::pubsub_serializer_json Celix::pubsub_topology_manager Celix::pubsub_discovery_etcd - Celix::pubsub_admin_zmq + Celix::pubsub_admin_zmq_v2 Celix::pubsub_protocol_wire_v2 #Remote Services @@ -94,4 +93,5 @@ add_celix_container(RemoteCalculatorConsumer TestExportImportRemoteServiceFactory #needed to be able to create a ExportedService for ICalculator CalculatorConsumer -) \ No newline at end of file +) +target_link_libraries(RemoteCalculatorConsumer PRIVATE ZMQ::lib CZMQ::lib) diff --git a/bundles/cxx_remote_services/integration/gtest/CMakeLists.txt b/bundles/cxx_remote_services/integration/gtest/CMakeLists.txt index 824bd48..5c548ec 100644 --- a/bundles/cxx_remote_services/integration/gtest/CMakeLists.txt +++ b/bundles/cxx_remote_services/integration/gtest/CMakeLists.txt @@ -18,14 +18,14 @@ add_executable(test_cxx_remote_services_integration src/RemoteServicesIntegrationTestSuite.cc ) -target_link_libraries(test_cxx_remote_services_integration PRIVATE Celix::framework Celix::Promises Celix::shell_api GTest::gtest GTest::gtest_main) +target_link_libraries(test_cxx_remote_services_integration PRIVATE Celix::framework Celix::Promises Celix::shell_api ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main) target_compile_options(test_cxx_remote_services_integration PRIVATE -std=c++17) target_include_directories(test_cxx_remote_services_integration PRIVATE ../include) #Add ICalculator add_celix_bundle_dependencies(test_cxx_remote_services_integration Celix::pubsub_serializer_json Celix::pubsub_topology_manager - Celix::pubsub_admin_zmq + Celix::pubsub_admin_zmq_v2 Celix::pubsub_protocol_wire_v2 Celix::RsaConfiguredDiscovery Celix::RemoteServiceAdmin @@ -40,7 +40,7 @@ target_compile_definitions(test_cxx_remote_services_integration PRIVATE PS_SER_B celix_get_bundle_file(Celix::pubsub_topology_manager PS_PSTM_BUNDLE_LOC) target_compile_definitions(test_cxx_remote_services_integration PRIVATE PS_PSTM_BUNDLE_LOC="${PS_PSTM_BUNDLE_LOC}") -celix_get_bundle_file(Celix::pubsub_admin_zmq PS_PSA_BUNDLE_LOC) +celix_get_bundle_file(Celix::pubsub_admin_zmq_v2 PS_PSA_BUNDLE_LOC) target_compile_definitions(test_cxx_remote_services_integration PRIVATE PS_PSA_BUNDLE_LOC="${PS_PSA_BUNDLE_LOC}") celix_get_bundle_file(Celix::pubsub_protocol_wire_v2 PS_WIRE_BUNDLE_LOC) diff --git a/bundles/pubsub/pubsub_admin_tcp/v2/src/pubsub_tcp_admin.c b/bundles/pubsub/pubsub_admin_tcp/v2/src/pubsub_tcp_admin.c index f5f200f..9806991 100644 --- a/bundles/pubsub/pubsub_admin_tcp/v2/src/pubsub_tcp_admin.c +++ b/bundles/pubsub/pubsub_admin_tcp/v2/src/pubsub_tcp_admin.c @@ -700,6 +700,7 @@ bool pubsub_tcpAdmin_executeCommand(void *handle, const char *commandLine __attr celixThreadMutex_unlock(&psa->protocols.mutex); fprintf(out, "\n"); + free(line); return status; }
