summaryrefslogtreecommitdiff
path: root/test/initial_event_tests/initial_event_test_master_starter.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/initial_event_tests/initial_event_test_master_starter.sh')
-rwxr-xr-xtest/initial_event_tests/initial_event_test_master_starter.sh78
1 files changed, 33 insertions, 45 deletions
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 2ef37f7..9eee669 100755
--- a/test/initial_event_tests/initial_event_test_master_starter.sh
+++ b/test/initial_event_tests/initial_event_test_master_starter.sh
@@ -24,7 +24,9 @@ fi
PASSED_SUBSCRIPTION_TYPE=$1
PASSED_JSON_FILE=$2
-PASSED_SAME_SERVICE_ID_FLAG=$3
+# Remove processed options from $@
+shift 2
+REMAINING_OPTIONS="$@"
# Make sure only valid subscription types are passed to the script
SUBSCRIPTION_TYPES="TCP_AND_UDP PREFER_UDP PREFER_TCP UDP TCP"
@@ -48,14 +50,16 @@ fi
print_starter_message () {
if [ ! -z "$USE_LXC_TEST" ]; then
- echo "starting initial event test on slave LXC with params $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $PASSED_SAME_SERVICE_ID_FLAG"
- ssh -tt -i $SANDBOX_ROOT_DIR/commonapi_main/lxc-config/.ssh/mgc_lxc/rsa_key_file.pub -o StrictHostKeyChecking=no root@$LXC_TEST_SLAVE_IP "bash -ci \"set -m; cd \\\$SANDBOX_ROOT_DIR/ctarget/vsomeip/test; ./initial_event_test_slave_starter.sh $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $PASSED_SAME_SERVICE_ID_FLAG\"" &
+ echo "starting initial event test on slave LXC with params $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $REMAINING_OPTIONS"
+ ssh -tt -i $SANDBOX_ROOT_DIR/commonapi_main/lxc-config/.ssh/mgc_lxc/rsa_key_file.pub -o StrictHostKeyChecking=no root@$LXC_TEST_SLAVE_IP "bash -ci \"set -m; cd \\\$SANDBOX_TARGET_DIR/vsomeip/test; ./initial_event_test_slave_starter.sh $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $REMAINING_OPTIONS\"" &
+elif [ ! -z "$USE_DOCKER" ]; then
+ docker run --name ietms --cap-add NET_ADMIN $DOCKER_IMAGE sh -c "route add -net 224.0.0.0/4 dev eth0 && cd $DOCKER_TESTS && ./initial_event_test_slave_starter.sh $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $REMAINING_OPTIONS" &
else
cat <<End-of-message
*******************************************************************************
*******************************************************************************
** Please now run:
-** initial_event_test_slave_starter.sh $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $PASSED_SAME_SERVICE_ID_FLAG
+** initial_event_test_slave_starter.sh $PASSED_SUBSCRIPTION_TYPE $CLIENT_JSON_FILE $REMAINING_OPTIONS
** from an external host to successfully complete this test.
**
** You probably will need to adapt the 'unicast' settings in
@@ -78,15 +82,15 @@ FAIL=0
export VSOMEIP_CONFIGURATION=$PASSED_JSON_FILE
export VSOMEIP_APPLICATION_NAME=initial_event_test_service_one
-./initial_event_test_service 1 $PASSED_SAME_SERVICE_ID_FLAG &
+./initial_event_test_service 1 $REMAINING_OPTIONS &
PID_SERVICE_ONE=$!
export VSOMEIP_APPLICATION_NAME=initial_event_test_service_two
-./initial_event_test_service 2 $PASSED_SAME_SERVICE_ID_FLAG &
+./initial_event_test_service 2 $REMAINING_OPTIONS &
PID_SERVICE_TWO=$!
export VSOMEIP_APPLICATION_NAME=initial_event_test_service_three
-./initial_event_test_service 3 $PASSED_SAME_SERVICE_ID_FLAG &
+./initial_event_test_service 3 $REMAINING_OPTIONS &
PID_SERVICE_THREE=$!
unset VSOMEIP_APPLICATION_NAME
@@ -94,55 +98,30 @@ unset VSOMEIP_APPLICATION_NAME
# Array for client pids
CLIENT_PIDS=()
-# Start some clients
-if [[ $PASSED_SUBSCRIPTION_TYPE == "TCP_AND_UDP" ]]
-then
- ./initial_event_test_client 9000 $PASSED_SUBSCRIPTION_TYPE $PASSED_SAME_SERVICE_ID_FLAG &
- FIRST_PID=$!
- sleep 1
- print_starter_message
- wait $FIRST_PID || FAIL=$(($FAIL+1))
-else
- for client_number in $(seq 9000 9009)
- do
- ./initial_event_test_client $client_number $PASSED_SUBSCRIPTION_TYPE $PASSED_SAME_SERVICE_ID_FLAG &
- CLIENT_PIDS+=($!)
- done
-fi
-
+# Start first client which subscribes remotely
+./initial_event_test_client 9000 $PASSED_SUBSCRIPTION_TYPE DONT_EXIT $REMAINING_OPTIONS &
+FIRST_PID=$!
# Start availability checker in order to wait until the services on the remote
# were started as well
-./initial_event_test_availability_checker 1234 $PASSED_SAME_SERVICE_ID_FLAG &
+./initial_event_test_availability_checker 1234 $REMAINING_OPTIONS &
PID_AVAILABILITY_CHECKER=$!
sleep 1
-if [ $PASSED_SUBSCRIPTION_TYPE != "TCP_AND_UDP" ]
-then
- print_starter_message
-fi
+print_starter_message
-# wait unti the services on the remote node were started as well
+
+# wait until the services on the remote node were started as well
wait $PID_AVAILABILITY_CHECKER
-# sleep to make sure the following started clients will have to get
-# the cached event from the routing manager daemon
sleep 2
-if [[ $PASSED_SUBSCRIPTION_TYPE == "TCP_AND_UDP" ]]
-then
- ./initial_event_test_client 9010 $PASSED_SUBSCRIPTION_TYPE $PASSED_SAME_SERVICE_ID_FLAG &
- FIRST_PID=$!
- wait $FIRST_PID || FAIL=$(($FAIL+1))
-else
- for client_number in $(seq 9010 9020)
- do
- ./initial_event_test_client $client_number $PASSED_SUBSCRIPTION_TYPE $PASSED_SAME_SERVICE_ID_FLAG &
- CLIENT_PIDS+=($!)
- done
-fi
-
+for client_number in $(seq 9001 9011)
+do
+ ./initial_event_test_client $client_number $PASSED_SUBSCRIPTION_TYPE STRICT_CHECKING $REMAINING_OPTIONS &
+ CLIENT_PIDS+=($!)
+done
# Wait until all clients are finished
for job in ${CLIENT_PIDS[*]}
@@ -156,7 +135,11 @@ done
PID_STOP_SERVICE=$!
wait $PID_STOP_SERVICE
-# kill the services
+# shutdown the first client
+kill $FIRST_PID
+wait $FIRST_PID || FAIL=$(($FAIL+1))
+
+# shutdown the services
kill $PID_SERVICE_THREE
kill $PID_SERVICE_TWO
kill $PID_SERVICE_ONE
@@ -164,6 +147,11 @@ kill $PID_SERVICE_ONE
sleep 1
echo ""
+if [ ! -z "$USE_DOCKER" ]; then
+ docker stop ietms
+ docker rm ietms
+fi
+
# Check if both exited successfully
if [ $FAIL -eq 0 ]
then