mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-08-07 14:34:09 +02:00
18aef5a43b
PRB nodes intermittently fail google.test with 'tcp connect failed: Connection timed out' while www.google.com still answers ping and www.wolfssl.com:443 (external.test) connects fine: Google drops or throttles TCP connections from busy CI egress IPs, so the existing ping reachability guard does not catch it. Failing to even open the TCP connection exercises no wolfSSL code, so treat it like the unreachable-server case and skip (77) instead of failing. TLS-level failures still fail the test.
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# google.test
|
|
|
|
server=www.google.com
|
|
|
|
[ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1
|
|
|
|
if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then
|
|
echo "WOLFSSL_EXTERNAL_TEST not set, won't run"
|
|
exit 77
|
|
fi
|
|
if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then
|
|
echo "WOLFSSL_EXTERNAL_TEST is defined to zero, won't run"
|
|
exit 77
|
|
fi
|
|
|
|
if ! ./examples/client/client -V | grep -q 3; then
|
|
echo 'skipping google.test because TLS1.2 is not available.' 1>&2
|
|
exit 77
|
|
fi
|
|
|
|
# is our desired server there?
|
|
./scripts/ping.test $server 2
|
|
RESULT=$?
|
|
[ $RESULT -ne 0 ] && exit 0
|
|
|
|
# Run the client against the server. The server may answer ping but still drop
|
|
# or throttle TCP connections from this host (Google does this to busy CI
|
|
# egress IPs). Failing to open the TCP connection exercises no wolfSSL code,
|
|
# so treat it like the unreachable-server case above and skip instead of
|
|
# failing.
|
|
run_client() {
|
|
OUTPUT="$(./examples/client/client "$@" 2>&1)"
|
|
RESULT=$?
|
|
echo "$OUTPUT"
|
|
if [ $RESULT -ne 0 ] && echo "$OUTPUT" | grep -q 'tcp connect failed'; then
|
|
echo -e "\n\ntcp connect to $server failed, skipping"
|
|
exit 77
|
|
fi
|
|
return $RESULT
|
|
}
|
|
|
|
# client test against the server
|
|
run_client -X -C -h $server -p 443 -g -d
|
|
RESULT=$?
|
|
[ $RESULT -ne 0 ] && echo -e "\n\nClient connection failed" && exit 1
|
|
|
|
if ./examples/client/client -V | grep -q 4; then
|
|
# client test against the server using TLS v1.3
|
|
run_client -v 4 -X -C -h $server -p 443 -g -d
|
|
RESULT=$?
|
|
[ $RESULT -ne 0 ] && echo -e "\n\nTLSv1.3 Client connection failed" && exit 1
|
|
fi
|
|
|
|
exit 0
|