#!/bin/bash thisfile=$(readlink -ne "${BASH_SOURCE[0]}") run_test() { local test_case=$1 shift local client=$1 shift local server=$1 if grpc_interop_test $test_case grpc-docker-testclients $client grpc-docker-server $server then echo "$test_case $client $server passed" >> /tmp/interop_result.txt else echo "$test_case $client $server failed" >> /tmp/interop_result.txt fi } time_out() { local test_case=$1 shift local client=$1 shift local server=$1 if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then if ! timeout 20s bash -l -c "source $thisfile && run_test $test_case $client $server" then echo "$test_case $client $server timed out" >> /tmp/interop_result.txt fi fi } main() { source grpc_docker.sh test_cases=(large_unary empty_unary ping_pong client_streaming server_streaming) clients=(cxx java go ruby node) servers=(cxx java go ruby node) for test_case in "${test_cases[@]}" do for client in "${clients[@]}" do for server in "${servers[@]}" do time_out $test_case $client $server done done done if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then gsutil cp /tmp/interop_result.txt gs://stoked-keyword-656-output/interop_result.txt rm /tmp/interop_result.txt fi } set -x main "$@"