1#!/usr/bin/env bash 2 3set -eu 4set -o pipefail 5 6set -x 7 8echo "Running for OS: ${OSTYPE}" 9 10case "$OSTYPE" in 11 darwin*) OS="darwin"; EXT="" ;; 12 linux*) OS="linux"; EXT="" ;; 13 msys*) OS="windows"; EXT=".exe" ;; 14 *) exit 2 ;; 15esac 16 17ARG="${1:-""}" 18 19(cd interop && cargo build --bins) 20 21SERVER="interop/bin/server_${OS}_amd64${EXT}" 22 23# TLS_CA="interop/data/ca.pem" 24TLS_CRT="interop/data/server1.pem" 25TLS_KEY="interop/data/server1.key" 26 27# run the test server 28./"${SERVER}" ${ARG} --tls_cert_file $TLS_CRT --tls_key_file $TLS_KEY & 29SERVER_PID=$! 30echo ":; started grpc-go test server." 31 32# trap exits to make sure we kill the server process when the script exits, 33# regardless of why (errors, SIGTERM, etc). 34trap 'echo ":; killing test server"; kill ${SERVER_PID};' EXIT 35 36sleep 1 37 38./target/debug/client \ 39 --test_case=empty_unary,large_unary,client_streaming,server_streaming,ping_pong,\ 40empty_stream,status_code_and_message,special_status_message,unimplemented_method,\ 41unimplemented_service,custom_metadata ${ARG} 42 43echo ":; killing test server"; kill ${SERVER_PID}; 44 45# run the test server 46./target/debug/server ${ARG} & 47SERVER_PID=$! 48echo ":; started tonic test server." 49 50# trap exits to make sure we kill the server process when the script exits, 51# regardless of why (errors, SIGTERM, etc). 52trap 'echo ":; killing test server"; kill ${SERVER_PID};' EXIT 53 54sleep 1 55 56./target/debug/client \ 57--test_case=empty_unary,large_unary,client_streaming,server_streaming,ping_pong,\ 58empty_stream,status_code_and_message,special_status_message,unimplemented_method,\ 59unimplemented_service,custom_metadata ${ARG} 60