#!/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