mirror of https://github.com/grpc/grpc.git
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.
54 lines
1.3 KiB
54 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 "$@"
|
|
|