The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.3 KiB

#!/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 "$@"