summaryrefslogtreecommitdiff
path: root/test/initial_event_tests
diff options
context:
space:
mode:
Diffstat (limited to 'test/initial_event_tests')
-rw-r--r--test/initial_event_tests/initial_event_test_availability_checker.cpp11
-rw-r--r--test/initial_event_tests/initial_event_test_client.cpp32
-rw-r--r--test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_master_udp.json2
-rw-r--r--test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_slave_udp.json2
-rw-r--r--test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_master_udp.json2
-rw-r--r--test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_slave_udp.json2
-rwxr-xr-xtest/initial_event_tests/initial_event_test_master_starter.sh3
-rw-r--r--test/initial_event_tests/initial_event_test_service.cpp25
-rwxr-xr-xtest/initial_event_tests/initial_event_test_slave_starter.sh2
9 files changed, 59 insertions, 22 deletions
diff --git a/test/initial_event_tests/initial_event_test_availability_checker.cpp b/test/initial_event_tests/initial_event_test_availability_checker.cpp
index 6a2eab9..4fc3085 100644
--- a/test/initial_event_tests/initial_event_test_availability_checker.cpp
+++ b/test/initial_event_tests/initial_event_test_availability_checker.cpp
@@ -152,10 +152,13 @@ int main(int argc, char** argv)
client_number = std::stoi(std::string(argv[1]), nullptr);
- if (argc >= 3 && std::string("SAME_SERVICE_ID") == std::string(argv[2])) {
- use_same_service_id = true;
- } else {
- use_same_service_id = false;
+ if (argc >= 2) {
+ for (int i = 2; i < argc; i++) {
+ if (std::string("SAME_SERVICE_ID") == std::string(argv[i])) {
+ use_same_service_id = true;
+ std::cout << "Availability checker: Using same service ID" << std::endl;
+ }
+ }
}
return RUN_ALL_TESTS();
}
diff --git a/test/initial_event_tests/initial_event_test_client.cpp b/test/initial_event_tests/initial_event_test_client.cpp
index a26e7b0..bc9d46a 100644
--- a/test/initial_event_tests/initial_event_test_client.cpp
+++ b/test/initial_event_tests/initial_event_test_client.cpp
@@ -35,7 +35,8 @@ public:
std::array<initial_event_test::service_info, 7> _service_infos,
bool _subscribe_on_available, std::uint32_t _events_to_subscribe,
bool _initial_event_strict_checking,
- bool _dont_exit, bool _subscribe_only_one) :
+ bool _dont_exit, bool _subscribe_only_one,
+ vsomeip::reliability_type_e _reliability_type) :
client_number_(_client_number),
service_infos_(_service_infos),
service_offered_tcp_and_udp_(_service_offered_tcp_and_udp),
@@ -48,7 +49,8 @@ public:
dont_exit_(_dont_exit),
subscribe_only_one_(_subscribe_only_one),
stop_thread_(&initial_event_test_client::wait_for_stop, this),
- wait_for_signal_handler_registration_(true)
+ wait_for_signal_handler_registration_(true),
+ reliability_type_(_reliability_type)
{
if (!app_->init()) {
ADD_FAILURE() << "Couldn't initialize application";
@@ -80,7 +82,8 @@ public:
for (std::uint32_t j = 0; j < events_to_subscribe_; j++ ) {
app_->request_event(i.service_id, i.instance_id,
static_cast<vsomeip::event_t>(i.event_id + j),
- its_eventgroups, vsomeip::event_type_e::ET_FIELD);
+ its_eventgroups, vsomeip::event_type_e::ET_FIELD,
+ reliability_type_);
}
other_services_available_[std::make_pair(i.service_id, i.instance_id)] = false;
@@ -364,9 +367,7 @@ public:
}
void handle_signal(int _signum) {
- VSOMEIP_DEBUG << "[" << std::setw(4) << std::setfill('0') << std::hex
- << client_number_ << "] Catched signal, going down ("
- << std::dec <<_signum << ")";
+ (void)_signum;
std::lock_guard<std::mutex> its_lock(stop_mutex_);
wait_for_stop_ = false;
stop_condition_.notify_one();
@@ -422,6 +423,7 @@ private:
std::mutex signal_mutex_;
std::condition_variable signal_condition_;
std::thread signal_thread_;
+ vsomeip::reliability_type_e reliability_type_;
};
static int client_number;
@@ -432,6 +434,8 @@ static std::uint32_t subscribe_multiple_events;
static bool initial_event_strict_checking;
static bool dont_exit;
static bool subscribe_only_one;
+vsomeip::reliability_type_e reliability_type = vsomeip::reliability_type_e::RT_UNKNOWN;
+
extern "C" void signal_handler(int signum) {
the_client->handle_signal(signum);
@@ -445,12 +449,14 @@ TEST(someip_initial_event_test, wait_for_initial_events_of_all_services)
initial_event_test::service_infos_same_service_id,
subscribe_on_available, subscribe_multiple_events,
initial_event_strict_checking, dont_exit,
- subscribe_only_one);
+ subscribe_only_one,
+ reliability_type);
} else {
initial_event_test_client its_sample(client_number, service_offered_tcp_and_udp,
initial_event_test::service_infos, subscribe_on_available,
subscribe_multiple_events, initial_event_strict_checking, dont_exit,
- subscribe_only_one);
+ subscribe_only_one,
+ reliability_type);
}
}
@@ -494,6 +500,7 @@ int main(int argc, char** argv)
subscribe_on_available = false;
} else 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])) {
subscribe_multiple_events = 5;
} else if (std::string("STRICT_CHECKING") == std::string(argv[i])) {
@@ -502,6 +509,15 @@ int main(int argc, char** argv)
dont_exit = true;
} else if (std::string("SUBSCRIBE_ONLY_ONE") == std::string(argv[i])) {
subscribe_only_one = true;
+ } 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;
}
}
}
diff --git a/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_master_udp.json b/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_master_udp.json
index a5bdb5f..eedfde4 100644
--- a/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_master_udp.json
+++ b/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_master_udp.json
@@ -1,5 +1,5 @@
{
- "unicast":"10.0.3.1",
+ "unicast":"XXX.XXX.XXX.XXX",
"logging":
{
"level":"warning",
diff --git a/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_slave_udp.json b/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_slave_udp.json
index caf4e12..4c47091 100644
--- a/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_slave_udp.json
+++ b/test/initial_event_tests/initial_event_test_diff_client_ids_diff_ports_slave_udp.json
@@ -1,5 +1,5 @@
{
- "unicast":"10.0.3.2",
+ "unicast":"XXX.XXX.XXX.XXX",
"diagnosis" : "0x63",
"logging":
{
diff --git a/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_master_udp.json b/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_master_udp.json
index 5d15fbf..d0e4e8f 100644
--- a/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_master_udp.json
+++ b/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_master_udp.json
@@ -1,5 +1,5 @@
{
- "unicast":"10.0.3.1",
+ "unicast":"XXX.XXX.XXX.XXX",
"logging":
{
"level":"warning",
diff --git a/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_slave_udp.json b/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_slave_udp.json
index 3c6a682..22a12c7 100644
--- a/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_slave_udp.json
+++ b/test/initial_event_tests/initial_event_test_diff_client_ids_same_ports_slave_udp.json
@@ -1,5 +1,5 @@
{
- "unicast":"10.0.3.2",
+ "unicast":"XXX.XXX.XXX.XXX",
"diagnosis" : "0x63",
"logging":
{
diff --git a/test/initial_event_tests/initial_event_test_master_starter.sh b/test/initial_event_tests/initial_event_test_master_starter.sh
index c78d3e8..8848f62 100755
--- a/test/initial_event_tests/initial_event_test_master_starter.sh
+++ b/test/initial_event_tests/initial_event_test_master_starter.sh
@@ -95,7 +95,9 @@ REMAINING_OPTIONS=${REMAINING_OPTIONS#SUBSCRIBE_ONLY_ONE}
# wait until the services on the remote node were started as well
+echo "WAITING FOR SERVICE AVAILABILITY"
wait $PID_AVAILABILITY_CHECKER
+echo "ALL SERVICES ARE AVAILABLE NOW"
sleep 2
@@ -105,6 +107,7 @@ do
CLIENT_PIDS+=($!)
done
+
# Wait until all clients are finished
for job in ${CLIENT_PIDS[*]}
do
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;
}
}
}
diff --git a/test/initial_event_tests/initial_event_test_slave_starter.sh b/test/initial_event_tests/initial_event_test_slave_starter.sh
index 083119f..e240f5a 100755
--- a/test/initial_event_tests/initial_event_test_slave_starter.sh
+++ b/test/initial_event_tests/initial_event_test_slave_starter.sh
@@ -13,7 +13,7 @@
if [ $# -lt 1 ]
then
echo "Please pass a json file to this script."
- echo "For example: $0 UDP initial_event_test_diff_client_ids_diff_ports_slave.json"
+ echo "For example: $0 initial_event_test_diff_client_ids_diff_ports_slave.json UDP"
echo "To use the same service id but different instances on the node pass SAME_SERVICE_ID as third parameter"
echo "To ensure the first client only subscribes to one event pass SUBSCRIBE_ONLY_ONE as third/fourth parameter"
exit 1