summaryrefslogtreecommitdiff
path: root/test/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'test/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in')
-rwxr-xr-xtest/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in b/test/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in
new file mode 100755
index 0000000..5694aa6
--- /dev/null
+++ b/test/network_tests/second_address_tests/conf/second_address_test_slave_starter.sh.in
@@ -0,0 +1,60 @@
+#!/bin/bash
+# Copyright (C) 2015-2018 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+FAIL=0
+
+if [ $# -lt 2 ]
+then
+ echo "Please pass a operation and communication mode to this script."
+ echo "For example: $0 CLIENT UDP"
+ echo "Valid operation modes include [SERVICE, CLIENT]"
+ echo "Valid communication modes include [UDP, TCP]"
+ exit 1
+fi
+
+OPERATIONMODE=$1
+COMMUNICATIONMODE=$2
+
+# Add second IP address to interface
+ip addr add @TEST_IP_SLAVE_SECOND@/32 dev eth0
+
+if [ "$OPERATIONMODE" = "CLIENT" ]; then
+ SLAVE_APPLICATION=second_address_test_client
+ export VSOMEIP_CONFIGURATION=second_address_test_slave_client.json
+
+elif [ "$OPERATIONMODE" = "SERVICE" ]; then
+ SLAVE_APPLICATION=second_address_test_service
+
+ if [ "$COMMUNICATIONMODE" = "TCP" ]; then
+ export VSOMEIP_CONFIGURATION=second_address_test_slave_service_tcp.json
+ elif [ "$COMMUNICATIONMODE" = "UDP" ]; then
+ export VSOMEIP_CONFIGURATION=second_address_test_slave_service_udp.json
+ fi
+fi
+
+../../examples/routingmanagerd/routingmanagerd &
+PID_VSOMEIPD=$!
+
+./$SLAVE_APPLICATION $COMMUNICATIONMODE &
+PID_SLAVE=$!
+
+# Wait until all slaves are finished
+for job in $PID_SLAVE
+do
+ # Fail gets incremented if a client exits with a non-zero exit code
+ echo "waiting for $job"
+ wait $job || FAIL=$(($FAIL+1))
+done
+
+# kill the services
+kill $PID_VSOMEIPD
+sleep 1
+
+# Delete second IP address
+ip addr del @TEST_IP_SLAVE_SECOND@/32 dev eth0
+
+# Check if everything went well
+exit $FAIL