xref: /tonic/interop/test.sh (revision ea7fe66b)
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