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

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

commit 9fcd28531a86e1d6a5a9f8b6e3c6f34199239adc
Author: Pepijn Noltes <[email protected]>
AuthorDate: Fri May 7 11:18:48 2021 +0200

    Converts pubsub test from cpputest to gtest
---
 bundles/pubsub/test/CMakeLists.txt               |  71 +++++++-------
 bundles/pubsub/test/test/test_endpoint_runner.cc |  34 ++++---
 bundles/pubsub/test/test/test_runner.cc          | 115 ++++++++++++-----------
 3 files changed, 111 insertions(+), 109 deletions(-)

diff --git a/bundles/pubsub/test/CMakeLists.txt 
b/bundles/pubsub/test/CMakeLists.txt
index fd16f9e..a803025 100644
--- a/bundles/pubsub/test/CMakeLists.txt
+++ b/bundles/pubsub/test/CMakeLists.txt
@@ -15,7 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-find_package(CppUTest REQUIRED)
 find_package(Jansson REQUIRED)
 
 add_celix_bundle(pubsub_endpoint_sut
@@ -152,8 +151,8 @@ if (BUILD_PUBSUB_PSA_UDP_MC)
                 pubsub_sut
                 pubsub_tst
     )
-    target_link_libraries(pubsub_udpmc_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi)
-    target_include_directories(pubsub_udpmc_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_udpmc_tests PRIVATE Celix::pubsub_api Jansson 
Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_udpmc_tests SYSTEM PRIVATE test)
 
     add_celix_container(pstm_deadlock_udpmc_test
             USE_CONFIG #ensures that a config.properties will be created with 
the launch bundles.
@@ -171,7 +170,7 @@ if (BUILD_PUBSUB_PSA_UDP_MC)
             Celix::shell_tui
             )
     target_compile_definitions(pstm_deadlock_udpmc_test PRIVATE 
-DDEADLOCK_SUT_BUNDLE_FILE=\"${DEADLOCK_SUT_BUNDLE_FILE}\")
-    target_link_libraries(pstm_deadlock_udpmc_test PRIVATE Celix::pubsub_api 
GTest::gtest GTest::gtest_main Jansson Celix::dfi)
+    target_link_libraries(pstm_deadlock_udpmc_test PRIVATE Celix::pubsub_api 
Jansson Celix::dfi GTest::gtest GTest::gtest_main)
     target_include_directories(pstm_deadlock_udpmc_test SYSTEM PRIVATE 
pstm_deadlock_udpmc_test)
 
     #Note we do not link to bundles, as result (to ensure a bundle zip file is 
created) an dependency on the bundle is needed.
@@ -207,8 +206,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_sut
             pubsub_tst
             )
-    target_link_libraries(pubsub_tcp_wire_v1_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi)
-    target_include_directories(pubsub_tcp_wire_v1_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_wire_v1_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_wire_v1_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_tcp_wire_v1_tests COMMAND pubsub_tcp_wire_v1_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_tcp_wire_v1_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_wire_v1_tests SCAN_DIR ..)
 
@@ -229,8 +228,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_sut
             pubsub_tst
             )
-    target_link_libraries(pubsub_tcp_wire_v2_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi)
-    target_include_directories(pubsub_tcp_wire_v2_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_wire_v2_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_wire_v2_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_tcp_wire_v2_tests COMMAND pubsub_tcp_wire_v2_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_tcp_wire_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_wire_v2_tests SCAN_DIR ..)
 
@@ -252,8 +251,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_sut
             pubsub_tst
     )
-    target_link_libraries(pubsub_tcp_wire_v2_with_no_scope_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Jansson Celix::dfi)
-    target_include_directories(pubsub_tcp_wire_v2_with_no_scope_tests SYSTEM 
PRIVATE ${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_wire_v2_with_no_scope_tests PRIVATE 
Celix::pubsub_api Jansson Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_wire_v2_with_no_scope_tests SYSTEM 
PRIVATE test)
     add_test(NAME pubsub_tcp_wire_v2_with_no_scope_tests COMMAND 
pubsub_tcp_wire_v2_with_no_scope_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_tcp_wire_v2_with_no_scope_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_wire_v2_with_no_scope_tests SCAN_DIR 
..)
 
@@ -275,8 +274,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_endpoint_sut
             pubsub_loopback
             )
-    target_link_libraries(pubsub_tcp_endpoint_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi)
-    target_include_directories(pubsub_tcp_endpoint_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_endpoint_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_endpoint_tests SYSTEM PRIVATE test)
 
     add_celix_container(pstm_deadlock_tcp_test
             USE_CONFIG #ensures that a config.properties will be created with 
the launch bundles.
@@ -333,8 +332,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_tst
             pubsub_serializer
             )
-    target_link_libraries(pubsub_tcp_v2_wire_v1_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Celix::dfi)
-    target_include_directories(pubsub_tcp_v2_wire_v1_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_v2_wire_v1_tests PRIVATE 
Celix::pubsub_api Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_v2_wire_v1_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_tcp_v2_wire_v1_tests COMMAND 
pubsub_tcp_v2_wire_v1_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_tcp_v2_wire_v1_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_v2_wire_v1_tests SCAN_DIR ..)
 
@@ -356,8 +355,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_tst
             pubsub_serializer
             )
-    target_link_libraries(pubsub_tcp_v2_wire_v2_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Celix::dfi)
-    target_include_directories(pubsub_tcp_v2_wire_v2_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_v2_wire_v2_tests PRIVATE 
Celix::pubsub_api Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_v2_wire_v2_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_tcp_v2_wire_v2_tests COMMAND 
pubsub_tcp_v2_wire_v2_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_tcp_v2_wire_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_v2_wire_v2_tests SCAN_DIR ..)
 
@@ -380,8 +379,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_tst
             pubsub_serializer
             )
-    target_link_libraries(pubsub_tcp_v2_wire_v2_with_no_scope_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Celix::dfi)
-    target_include_directories(pubsub_tcp_v2_wire_v2_with_no_scope_tests 
SYSTEM PRIVATE ${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_v2_wire_v2_with_no_scope_tests PRIVATE 
Celix::pubsub_api Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_v2_wire_v2_with_no_scope_tests 
SYSTEM PRIVATE test)
     add_test(NAME pubsub_tcp_v2_wire_v2_with_no_scope_tests COMMAND 
pubsub_tcp_v2_wire_v2_with_no_scope_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_tcp_v2_wire_v2_with_no_scope_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_tcp_v2_wire_v2_with_no_scope_tests 
SCAN_DIR ..)
 
@@ -404,8 +403,8 @@ if (BUILD_PUBSUB_PSA_TCP)
             pubsub_loopback
             pubsub_serializer
             )
-    target_link_libraries(pubsub_tcp_v2_endpoint_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Celix::dfi)
-    target_include_directories(pubsub_tcp_v2_endpoint_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_tcp_v2_endpoint_tests PRIVATE 
Celix::pubsub_api Celix::dfi GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_tcp_v2_endpoint_tests SYSTEM PRIVATE 
test)
 
     add_celix_container(pstm_deadlock_tcp_v2_test
             USE_CONFIG #ensures that a config.properties will be created with 
the launch bundles.
@@ -462,8 +461,8 @@ if (BUILD_PUBSUB_PSA_WS)
             pubsub_sut
             pubsub_tst
             )
-    target_link_libraries(pubsub_websocket_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi civetweb_shared)
-    target_include_directories(pubsub_websocket_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_websocket_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi civetweb_shared GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_websocket_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_websocket_tests COMMAND pubsub_websocket_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_websocket_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_websocket_tests SCAN_DIR ..)
 
@@ -514,8 +513,8 @@ if (BUILD_PUBSUB_PSA_WS)
             pubsub_tst
             pubsub_serializer
             )
-    target_link_libraries(pubsub_websocket_v2_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson civetweb_shared)
-    target_include_directories(pubsub_websocket_v2_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_websocket_v2_tests PRIVATE Celix::pubsub_api 
Jansson civetweb_shared GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_websocket_v2_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_websocket_v2_tests COMMAND pubsub_websocket_v2_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_websocket_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_websocket_v2_tests SCAN_DIR ..)
 
@@ -587,13 +586,13 @@ if (BUILD_PUBSUB_PSA_ZMQ)
                 pubsub_serializer
             )
 
-    target_link_libraries(pubsub_zmq_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_tests PRIVATE Celix::pubsub_api 
Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_zmq_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_zmq_tests COMMAND pubsub_zmq_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_zmq_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_tests SCAN_DIR ..)
 
-    target_link_libraries(pubsub_zmq_v2_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_v2_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_v2_tests PRIVATE Celix::pubsub_api 
Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_zmq_v2_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_zmq_v2_tests COMMAND pubsub_zmq_v2_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_zmq_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_v2_tests SCAN_DIR ..)
 
@@ -614,8 +613,8 @@ if (BUILD_PUBSUB_PSA_ZMQ)
         pubsub_serializer
         )
 
-    target_link_libraries(pubsub_zmq_wire_v2_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_wire_v2_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_wire_v2_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_zmq_wire_v2_tests SYSTEM PRIVATE test)
     add_test(NAME pubsub_zmq_wire_v2_tests COMMAND pubsub_zmq_wire_v2_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_zmq_wire_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_wire_v2_tests SCAN_DIR ..)
 
@@ -659,14 +658,14 @@ if (BUILD_PUBSUB_PSA_ZMQ)
                 pubsub_tst
                 pubsub_serializer
             )
-    target_link_libraries(pubsub_zmq_zerocopy_tests PRIVATE Celix::pubsub_api 
${CppUTest_LIBRARIES} Jansson Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_zerocopy_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_zerocopy_tests PRIVATE Celix::pubsub_api 
Jansson Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_zmq_zerocopy_tests SYSTEM PRIVATE test)
 
     add_test(NAME pubsub_zmq_zerocopy_tests COMMAND pubsub_zmq_zerocopy_tests 
WORKING_DIRECTORY $<TARGET_PROPERTY:pubsub_zmq_zerocopy_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_zerocopy_tests SCAN_DIR ..)
 
-    target_link_libraries(pubsub_zmq_v2_zerocopy_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_v2_zerocopy_tests SYSTEM PRIVATE 
${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_v2_zerocopy_tests PRIVATE 
Celix::pubsub_api Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest GTest::gtest_main)
+    target_include_directories(pubsub_zmq_v2_zerocopy_tests SYSTEM PRIVATE 
test)
 
     add_test(NAME pubsub_zmq_v2_zerocopy_tests COMMAND 
pubsub_zmq_v2_zerocopy_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_zmq_v2_zerocopy_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_v2_zerocopy_tests SCAN_DIR ..)
@@ -690,8 +689,8 @@ if (BUILD_PUBSUB_PSA_ZMQ)
         pubsub_tst
         pubsub_serializer
         )
-    target_link_libraries(pubsub_zmq_zerocopy_wire_v2_tests PRIVATE 
Celix::pubsub_api ${CppUTest_LIBRARIES} Jansson Celix::dfi ZMQ::lib CZMQ::lib)
-    target_include_directories(pubsub_zmq_zerocopy_wire_v2_tests SYSTEM 
PRIVATE ${CppUTest_INCLUDE_DIR} test)
+    target_link_libraries(pubsub_zmq_zerocopy_wire_v2_tests PRIVATE 
Celix::pubsub_api Jansson Celix::dfi ZMQ::lib CZMQ::lib GTest::gtest 
GTest::gtest_main)
+    target_include_directories(pubsub_zmq_zerocopy_wire_v2_tests SYSTEM 
PRIVATE test)
 
     add_test(NAME pubsub_zmq_zerocopy_wire_v2_tests COMMAND 
pubsub_zmq_zerocopy_wire_v2_tests WORKING_DIRECTORY 
$<TARGET_PROPERTY:pubsub_zmq_zerocopy_wire_v2_tests,CONTAINER_LOC>)
     setup_target_for_coverage(pubsub_zmq_zerocopy_wire_v2_tests SCAN_DIR ..)
diff --git a/bundles/pubsub/test/test/test_endpoint_runner.cc 
b/bundles/pubsub/test/test/test_endpoint_runner.cc
index ae65175..2a5b23a 100644
--- a/bundles/pubsub/test/test/test_endpoint_runner.cc
+++ b/bundles/pubsub/test/test/test_endpoint_runner.cc
@@ -17,37 +17,35 @@
  * under the License.
  */
 
+#include <gtest/gtest.h>
+
 #include "celix_api.h"
 #include <unistd.h>
 #include "receive_count_service.h"
 
-#include <CppUTest/TestHarness.h>
-#include <CppUTest/CommandLineTestRunner.h>
-
-int main(int argc, char **argv) {
-    MemoryLeakWarningPlugin::turnOffNewDeleteOverloads();
-    int rc = RUN_ALL_TESTS(argc, argv);
-    return rc;
-}
-
-TEST_GROUP(PUBSUB_INT_GROUP) {
-    celix_framework_t *fw = nullptr;
-    celix_bundle_context_t *ctx = nullptr;
-    void setup() override {
+class PubSubIntegrationTestSuite : public ::testing::Test {
+public:
+    PubSubIntegrationTestSuite() {
         celixLauncher_launch("config.properties", &fw);
         ctx = celix_framework_getFrameworkContext(fw);
     }
 
-    void teardown() override {
+    ~PubSubIntegrationTestSuite() override {
         celixLauncher_stop(fw);
         celixLauncher_waitForShutdown(fw);
         celixLauncher_destroy(fw);
-        ctx = nullptr;
-        fw = nullptr;
     }
+
+    PubSubIntegrationTestSuite(const PubSubIntegrationTestSuite&) = delete;
+    PubSubIntegrationTestSuite(PubSubIntegrationTestSuite&&) = delete;
+    PubSubIntegrationTestSuite& operator=(const PubSubIntegrationTestSuite&) = 
delete;
+    PubSubIntegrationTestSuite& operator=(PubSubIntegrationTestSuite&&) = 
delete;
+
+    celix_framework_t* fw = nullptr;
+    celix_bundle_context_t* ctx = nullptr;
 };
 
-TEST(PUBSUB_INT_GROUP, recvTest) {
+TEST_F(PubSubIntegrationTestSuite, recvTest) {
     constexpr int TRIES = 50;
     constexpr int TIMEOUT = 250000;
     constexpr int MSG_COUNT = 100;
@@ -67,5 +65,5 @@ TEST(PUBSUB_INT_GROUP, recvTest) {
         }
         usleep(TIMEOUT);
     }
-    CHECK(count >= MSG_COUNT);
+    EXPECT_GE(count, MSG_COUNT);
 }
diff --git a/bundles/pubsub/test/test/test_runner.cc 
b/bundles/pubsub/test/test/test_runner.cc
index 28975e0..bedf494 100644
--- a/bundles/pubsub/test/test/test_runner.cc
+++ b/bundles/pubsub/test/test/test_runner.cc
@@ -17,68 +17,72 @@
  * under the License.
  */
 
+#include <gtest/gtest.h>
+
 #include "celix_api.h"
 #include <unistd.h>
 #include "receive_count_service.h"
 
-#include <CppUTest/TestHarness.h>
-#include <CppUTest/CommandLineTestRunner.h>
+class PubSubIntegrationTestSuite : public ::testing::Test {
+public:
+    PubSubIntegrationTestSuite() {
+        celixLauncher_launch("config.properties", &fw);
+        ctx = celix_framework_getFrameworkContext(fw);
+    }
 
-int main(int argc, char **argv) {
-    MemoryLeakWarningPlugin::turnOffNewDeleteOverloads();
-    int rc = RUN_ALL_TESTS(argc, argv);
-    return rc;
-}
+    ~PubSubIntegrationTestSuite() override {
+        celixLauncher_stop(fw);
+        celixLauncher_waitForShutdown(fw);
+        celixLauncher_destroy(fw);
+    }
 
-TEST_GROUP(PUBSUB_INT_GROUP) {
-        celix_framework_t * fw = NULL;
-        celix_bundle_context_t *ctx = NULL;
-        void setup() override {
-            celixLauncher_launch("config.properties", &fw);
-            ctx = celix_framework_getFrameworkContext(fw);
-        }
+    PubSubIntegrationTestSuite(const PubSubIntegrationTestSuite&) = delete;
+    PubSubIntegrationTestSuite(PubSubIntegrationTestSuite&&) = delete;
+    PubSubIntegrationTestSuite& operator=(const PubSubIntegrationTestSuite&) = 
delete;
+    PubSubIntegrationTestSuite& operator=(PubSubIntegrationTestSuite&&) = 
delete;
 
-        void teardown() override {
-            celixLauncher_stop(fw);
-            celixLauncher_waitForShutdown(fw);
-            celixLauncher_destroy(fw);
-            ctx = NULL;
-            fw = NULL;
-        }
+    celix_framework_t* fw = nullptr;
+    celix_bundle_context_t* ctx = nullptr;
 };
 
-TEST_GROUP(PUBSUB_INT_ENV_GROUP) {
-        celix_framework_t * fw = NULL;
-        celix_bundle_context_t *ctx = NULL;
-        void setup() override {
-            setenv("PSA_TCP_STATIC_BIND_URL_FOR_ping", "tcp://localhost:9001", 
1);
-            setenv("PSA_TCP_STATIC_CONNECT_URL_FOR_ping", 
"tcp://localhost:9001", 1);
-            setenv("PSA_UDPMC_STATIC_BIND_PORT_FOR_ping", "9001", 1);
-            setenv("PSA_UDPMC_STATIC_CONNECT_URLS_FOR_ping", 
"224.100.0.1:9001", 1);
-            
setenv("PUBSUB_WEBSOCKET_STATIC_CONNECT_SOCKET_ADDRESSES_FOR_ping", 
"127.0.0.1:9001", 1);
-            setenv("CELIX_HTTP_ADMIN_LISTENING_PORTS", "9001", 1);
-            setenv("PSA_ZMQ_STATIC_BIND_URL_FOR_ping", 
"ipc:///tmp/pubsub-envtest", 1);
-            setenv("PSA_ZMQ_STATIC_CONNECT_URL_FOR_ping", 
"ipc:///tmp/pubsub-envtest", 1);
-
-            celixLauncher_launch("config.properties", &fw);
-            ctx = celix_framework_getFrameworkContext(fw);
-        }
+class PubSubIntegrationWithEnvironmentTestSuite : public ::testing::Test {
+public:
+    PubSubIntegrationWithEnvironmentTestSuite() {
+        setenv("PSA_TCP_STATIC_BIND_URL_FOR_ping", "tcp://localhost:9001", 1);
+        setenv("PSA_TCP_STATIC_CONNECT_URL_FOR_ping", "tcp://localhost:9001", 
1);
+        setenv("PSA_UDPMC_STATIC_BIND_PORT_FOR_ping", "9001", 1);
+        setenv("PSA_UDPMC_STATIC_CONNECT_URLS_FOR_ping", "224.100.0.1:9001", 
1);
+        setenv("PUBSUB_WEBSOCKET_STATIC_CONNECT_SOCKET_ADDRESSES_FOR_ping", 
"127.0.0.1:9001", 1);
+        setenv("CELIX_HTTP_ADMIN_LISTENING_PORTS", "9001", 1);
+        setenv("PSA_ZMQ_STATIC_BIND_URL_FOR_ping", 
"ipc:///tmp/pubsub-envtest", 1);
+        setenv("PSA_ZMQ_STATIC_CONNECT_URL_FOR_ping", 
"ipc:///tmp/pubsub-envtest", 1);
 
-        void teardown() override {
-            celixLauncher_stop(fw);
-            celixLauncher_waitForShutdown(fw);
-            celixLauncher_destroy(fw);
-            ctx = NULL;
-            fw = NULL;
-            unsetenv("PSA_TCP_STATIC_BIND_URL_FOR_ping");
-            unsetenv("PSA_TCP_STATIC_CONNECT_URL_FOR_ping");
-            unsetenv("PSA_UDPMC_STATIC_BIND_PORT_FOR_ping");
-            unsetenv("PSA_UDPMC_STATIC_CONNECT_URLS_FOR_ping");
-            
unsetenv("PUBSUB_WEBSOCKET_STATIC_CONNECT_SOCKET_ADDRESSES_FOR_ping");
-            unsetenv("CELIX_HTTP_ADMIN_LISTENING_PORTS");
-            unsetenv("PSA_ZMQ_STATIC_BIND_URL_FOR_ping");
-            unsetenv("PSA_ZMQ_STATIC_CONNECT_URL_FOR_ping");
-        }
+        celixLauncher_launch("config.properties", &fw);
+        ctx = celix_framework_getFrameworkContext(fw);
+    }
+
+    ~PubSubIntegrationWithEnvironmentTestSuite() override {
+        celixLauncher_stop(fw);
+        celixLauncher_waitForShutdown(fw);
+        celixLauncher_destroy(fw);
+
+        unsetenv("PSA_TCP_STATIC_BIND_URL_FOR_ping");
+        unsetenv("PSA_TCP_STATIC_CONNECT_URL_FOR_ping");
+        unsetenv("PSA_UDPMC_STATIC_BIND_PORT_FOR_ping");
+        unsetenv("PSA_UDPMC_STATIC_CONNECT_URLS_FOR_ping");
+        unsetenv("PUBSUB_WEBSOCKET_STATIC_CONNECT_SOCKET_ADDRESSES_FOR_ping");
+        unsetenv("CELIX_HTTP_ADMIN_LISTENING_PORTS");
+        unsetenv("PSA_ZMQ_STATIC_BIND_URL_FOR_ping");
+        unsetenv("PSA_ZMQ_STATIC_CONNECT_URL_FOR_ping");
+    }
+
+    PubSubIntegrationWithEnvironmentTestSuite(const 
PubSubIntegrationWithEnvironmentTestSuite&) = delete;
+    
PubSubIntegrationWithEnvironmentTestSuite(PubSubIntegrationWithEnvironmentTestSuite&&)
 = delete;
+    PubSubIntegrationWithEnvironmentTestSuite& operator=(const 
PubSubIntegrationWithEnvironmentTestSuite&) = delete;
+    PubSubIntegrationWithEnvironmentTestSuite& 
operator=(PubSubIntegrationWithEnvironmentTestSuite&&) = delete;
+
+    celix_framework_t* fw = nullptr;
+    celix_bundle_context_t* ctx = nullptr;
 };
 
 void receiveTest(celix_bundle_context_t *ctx) {
@@ -101,13 +105,14 @@ void receiveTest(celix_bundle_context_t *ctx) {
         }
         usleep(TIMEOUT);
     }
-    CHECK(count >= MSG_COUNT);
+    EXPECT_GE(count, MSG_COUNT);
 }
 
-TEST(PUBSUB_INT_GROUP, recvTest) {
+TEST_F(PubSubIntegrationTestSuite, recvTest) {
     receiveTest(ctx);
 }
 
-TEST(PUBSUB_INT_ENV_GROUP, recvTest) {
+
+TEST_F(PubSubIntegrationWithEnvironmentTestSuite, recvTest) {
     receiveTest(ctx);
 }

Reply via email to