You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2021/06/07 15:30:19 UTC

[celix] branch feature/link_zmq_in_rsa_test created (now d3f17be)

This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a change to branch feature/link_zmq_in_rsa_test
in repository https://gitbox.apache.org/repos/asf/celix.git.


      at d3f17be  Updates ZMQ use in RSA to pubsub_zmq_v2 and adds missing linking to zmq libs

This branch includes the following new commits:

     new d3f17be  Updates ZMQ use in RSA to pubsub_zmq_v2 and adds missing linking to zmq libs

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[celix] 01/01: Updates ZMQ use in RSA to pubsub_zmq_v2 and adds missing linking to zmq libs

Posted by pn...@apache.org.
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 <pe...@gmail.com>
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;
 }