diff options
Diffstat (limited to 'test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp')
-rw-r--r-- | test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp b/test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp index 6710892..a0f4894 100644 --- a/test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp +++ b/test/subscribe_notify_tests/subscribe_notify_test_one_event_two_eventgroups_service.cpp @@ -22,11 +22,12 @@ class subscribe_notify_test_one_event_two_eventgroups_service { public: - subscribe_notify_test_one_event_two_eventgroups_service(subscribe_notify_test::service_info _info) : + subscribe_notify_test_one_event_two_eventgroups_service(subscribe_notify_test::service_info _info, bool _use_tcp) : app_(vsomeip::runtime::get()->create_application()), wait_for_shutdown_(true), info_(_info), - notify_thread_(std::bind(&subscribe_notify_test_one_event_two_eventgroups_service::wait_for_shutdown, this)) { + notify_thread_(std::bind(&subscribe_notify_test_one_event_two_eventgroups_service::wait_for_shutdown, this)), + use_tcp_(_use_tcp) { } ~subscribe_notify_test_one_event_two_eventgroups_service() { @@ -70,24 +71,28 @@ public: app_->offer_event(info_.service_id, info_.instance_id, info_.event_id, its_groups, vsomeip::event_type_e::ET_FIELD, std::chrono::milliseconds::zero(), - false, true, nullptr, vsomeip::reliability_type_e::RT_UNKNOWN); + false, true, nullptr, + (use_tcp_ ? vsomeip::reliability_type_e::RT_RELIABLE : vsomeip::reliability_type_e::RT_UNRELIABLE)); app_->offer_event(info_.service_id, info_.instance_id, static_cast<vsomeip::event_t>(info_.event_id + 2), its_groups, vsomeip::event_type_e::ET_FIELD, std::chrono::milliseconds::zero(), - false, true, nullptr, vsomeip::reliability_type_e::RT_UNKNOWN); + false, true, nullptr, + (use_tcp_ ? vsomeip::reliability_type_e::RT_RELIABLE : vsomeip::reliability_type_e::RT_UNRELIABLE)); its_groups.erase(info_.eventgroup_id); its_groups.insert(static_cast<vsomeip::eventgroup_t>(info_.eventgroup_id + 1)); app_->offer_event(info_.service_id, info_.instance_id, static_cast<vsomeip::event_t>(info_.event_id + 1), its_groups, vsomeip::event_type_e::ET_FIELD, std::chrono::milliseconds::zero(), - false, true, nullptr, vsomeip::reliability_type_e::RT_UNKNOWN); + false, true, nullptr, + (use_tcp_ ? vsomeip::reliability_type_e::RT_RELIABLE : vsomeip::reliability_type_e::RT_UNRELIABLE)); app_->offer_event(info_.service_id, info_.instance_id, static_cast<vsomeip::event_t>(info_.event_id + 2), its_groups, vsomeip::event_type_e::ET_FIELD, std::chrono::milliseconds::zero(), - false, true, nullptr, vsomeip::reliability_type_e::RT_UNKNOWN); + false, true, nullptr, + (use_tcp_ ? vsomeip::reliability_type_e::RT_RELIABLE : vsomeip::reliability_type_e::RT_UNRELIABLE)); payload_ = vsomeip::runtime::get()->create_payload(); return true; @@ -186,6 +191,7 @@ private: subscribe_notify_test::service_info info_; std::thread notify_thread_; + bool use_tcp_; }; #ifndef VSOMEIP_ENABLE_SIGNAL_HANDLING @@ -197,11 +203,12 @@ private: } #endif +static bool use_tcp; TEST(someip_subscribe_notify_test_one_event_two_eventgroups, wait_for_attribute_set) { subscribe_notify_test_one_event_two_eventgroups_service its_service( - subscribe_notify_test::service_info_subscriber_based_notification); + subscribe_notify_test::service_info_subscriber_based_notification, use_tcp); #ifndef VSOMEIP_ENABLE_SIGNAL_HANDLING its_service_ptr = &its_service; signal(SIGINT, handle_signal); @@ -216,6 +223,24 @@ TEST(someip_subscribe_notify_test_one_event_two_eventgroups, wait_for_attribute_ int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); + if(argc < 2) { + std::cerr << "Please specify a offer type of the service, like: " << argv[0] << " UDP" << std::endl; + std::cerr << "Valid offer types include:" << std::endl; + std::cerr << "[UDP, TCP]" << std::endl; + return 1; + } + + if(std::string("TCP") == std::string(argv[1])) { + use_tcp = true; + } else if(std::string("UDP") == std::string(argv[1])) { + use_tcp = false; + } else { + std::cerr << "Wrong subscription type passed, exiting" << std::endl; + std::cerr << "Valid subscription types include:" << std::endl; + std::cerr << "[UDP, TCP]" << std::endl; + return 1; + } + return RUN_ALL_TESTS(); } #endif |