diff options
Diffstat (limited to 'test/initial_event_tests/initial_event_test_service.cpp')
-rw-r--r-- | test/initial_event_tests/initial_event_test_service.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/test/initial_event_tests/initial_event_test_service.cpp b/test/initial_event_tests/initial_event_test_service.cpp index 3b96174..f075ed6 100644 --- a/test/initial_event_tests/initial_event_test_service.cpp +++ b/test/initial_event_tests/initial_event_test_service.cpp @@ -23,12 +23,13 @@ class initial_event_test_service { public: initial_event_test_service(struct initial_event_test::service_info _service_info, - std::uint32_t _events_to_offer) : + std::uint32_t _events_to_offer, vsomeip::reliability_type_e _reliability_type) : service_info_(_service_info), app_(vsomeip::runtime::get()->create_application()), wait_until_registered_(true), events_to_offer_(_events_to_offer), - offer_thread_(std::bind(&initial_event_test_service::run, this)) { + offer_thread_(std::bind(&initial_event_test_service::run, this)), + reliability_type_(_reliability_type) { if (!app_->init()) { ADD_FAILURE() << "Couldn't initialize application"; return; @@ -45,7 +46,7 @@ public: static_cast<vsomeip::event_t>(service_info_.event_id + i), its_eventgroups, vsomeip::event_type_e::ET_FIELD, std::chrono::milliseconds::zero(), false, true, nullptr, - vsomeip::reliability_type_e::RT_UNKNOWN); + reliability_type_); } // set value to field @@ -104,20 +105,24 @@ private: std::mutex mutex_; std::condition_variable condition_; std::thread offer_thread_; + vsomeip::reliability_type_e reliability_type_; }; static unsigned long service_number; static bool use_same_service_id; static std::uint32_t offer_multiple_events; +vsomeip::reliability_type_e reliability_type = vsomeip::reliability_type_e::RT_UNKNOWN; TEST(someip_initial_event_test, set_field_once) { if(use_same_service_id) { initial_event_test_service its_sample( - initial_event_test::service_infos_same_service_id[service_number], offer_multiple_events); + initial_event_test::service_infos_same_service_id[service_number], offer_multiple_events, + reliability_type); } else { initial_event_test_service its_sample( - initial_event_test::service_infos[service_number], offer_multiple_events); + initial_event_test::service_infos[service_number], offer_multiple_events, + reliability_type); } } @@ -143,8 +148,18 @@ int main(int argc, char** argv) for (int i = 2; i < argc; i++) { if (std::string("SAME_SERVICE_ID") == std::string(argv[i])) { use_same_service_id = true; + std::cout << "Using same service ID" << std::endl; } else if (std::string("MULTIPLE_EVENTS") == std::string(argv[i])) { offer_multiple_events = 5; + } else if (std::string("TCP")== std::string(argv[i])) { + reliability_type = vsomeip::reliability_type_e::RT_RELIABLE; + std::cout << "Using reliability type RT_RELIABLE" << std::endl; + } else if (std::string("UDP")== std::string(argv[i])) { + reliability_type = vsomeip::reliability_type_e::RT_UNRELIABLE; + std::cout << "Using reliability type RT_UNRELIABLE" << std::endl; + } else if (std::string("TCP_AND_UDP")== std::string(argv[i])) { + reliability_type = vsomeip::reliability_type_e::RT_BOTH; + std::cout << "Using reliability type RT_BOTH" << std::endl; } } } |