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); }
