From 8aa5f463b1573e407004e577a683be817b5a6585 Mon Sep 17 00:00:00 2001 From: Colton Willey Date: Wed, 4 Sep 2024 14:48:25 -0700 Subject: [PATCH 1/4] Add option to skip all tests requiring an internet connection. --- scripts/ocsp-stapling.test | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/ocsp-stapling.test b/scripts/ocsp-stapling.test index 90b7332a9a..226f7cd085 100755 --- a/scripts/ocsp-stapling.test +++ b/scripts/ocsp-stapling.test @@ -11,6 +11,11 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then export RETRIES_REMAINING=2 fi +if test -n "$WOLFSSL_NO_EXTERNAL_NETWORK_TESTS"; then + echo 'skipping oscp-stapling.test because WOLFSSL_NO_EXTERNAL_NETWORK_TESTS defined.' + exit 77 +fi + if ! ./examples/client/client -V | grep -q 3; then echo 'skipping ocsp-stapling.test because TLS1.2 is not available.' 1>&2 exit 77 From 8661cf6fee4c198e1649d62f328ff3cbeeef595c Mon Sep 17 00:00:00 2001 From: Colton Willey Date: Wed, 4 Sep 2024 16:09:16 -0700 Subject: [PATCH 2/4] Update no network test option to overload meaning of existing WOLFSSL_EXTERNAL_TEST instead of using new flag --- scripts/external.test | 41 +++++++++++++++++++++++--------------- scripts/google.test | 12 ++++++++++- scripts/ocsp-stapling.test | 11 ++++++++-- 3 files changed, 45 insertions(+), 19 deletions(-) diff --git a/scripts/external.test b/scripts/external.test index abef437a05..3a5bd1b177 100755 --- a/scripts/external.test +++ b/scripts/external.test @@ -15,26 +15,35 @@ if ! ./examples/client/client -V | grep -q 3; then exit 77 fi +# These tests do not run by default, we will call these opt in. There are +# additional default tests that require network connection, those are +# opt out. +# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. +# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. +# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. +if [[ ! -v WOLFSSL_EXTERNAL_TEST ]]; then + echo "WOLFSSL_EXTERNAL_TEST not set, won't run" + exit 77 +fi +if [[ "$WOLFSSL_EXTERNAL_TEST" == "0" ]]; then + echo "WOLFSSL_EXTERNAL_TEST is defined to zero, won't run" + exit 77 +fi + # cloudflare seems to change CAs quickly, disabled by default -if test -n "$WOLFSSL_EXTERNAL_TEST"; then - - BUILD_FLAGS="$(./examples/client/client '-#')" - if echo "$BUILD_FLAGS" | fgrep -q -e ' -DWOLFSSL_SNIFFER '; then - echo 'skipping WOLFSSL_EXTERNAL_TEST because -DWOLFSSL_SNIFFER configuration of build is incompatible.' - exit 77 - fi - - if echo "$BUILD_FLAGS" | fgrep -v -q -e ' -DHAVE_ECC '; then - echo 'skipping WOLFSSL_EXTERNAL_TEST because -UHAVE_ECC configuration of build is incompatible.' - exit 77 - fi - - echo "WOLFSSL_EXTERNAL_TEST set, running test..." -else - echo "WOLFSSL_EXTERNAL_TEST NOT set, won't run" +BUILD_FLAGS="$(./examples/client/client '-#')" +if echo "$BUILD_FLAGS" | fgrep -q -e ' -DWOLFSSL_SNIFFER '; then + echo 'skipping WOLFSSL_EXTERNAL_TEST because -DWOLFSSL_SNIFFER configuration of build is incompatible.' exit 77 fi +if echo "$BUILD_FLAGS" | fgrep -v -q -e ' -DHAVE_ECC '; then + echo 'skipping WOLFSSL_EXTERNAL_TEST because -UHAVE_ECC configuration of build is incompatible.' + exit 77 +fi + +echo "WOLFSSL_EXTERNAL_TEST set, running test..." + # is our desired server there? "${SCRIPT_DIR}"/ping.test $server 2 RESULT=$? diff --git a/scripts/google.test b/scripts/google.test index e2b0c63d45..a2cb0388d9 100755 --- a/scripts/google.test +++ b/scripts/google.test @@ -6,10 +6,20 @@ server=www.google.com [ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1 -if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then +# These tests do not run by default, we will call these opt in. There are +# additional default tests that require network connection, those are +# opt out. +# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. +# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. +# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. +if [[ ! -v WOLFSSL_EXTERNAL_TEST ]]; then echo "WOLFSSL_EXTERNAL_TEST not set, won't run" exit 77 fi +if [[ "$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 diff --git a/scripts/ocsp-stapling.test b/scripts/ocsp-stapling.test index 226f7cd085..214916b6a7 100755 --- a/scripts/ocsp-stapling.test +++ b/scripts/ocsp-stapling.test @@ -11,8 +11,15 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then export RETRIES_REMAINING=2 fi -if test -n "$WOLFSSL_NO_EXTERNAL_NETWORK_TESTS"; then - echo 'skipping oscp-stapling.test because WOLFSSL_NO_EXTERNAL_NETWORK_TESTS defined.' +# These tests do run by default, we will call these opt out. There are +# additional non-default tests that require network connection, those are +# opt in. +# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. +# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. +# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. +if [[ "$WOLFSSL_EXTERNAL_TEST" == "0" ]]; then + echo 'skipping oscp-stapling.test because WOLFSSL_EXTERNAL_TEST is \ + defined to the value 0.' exit 77 fi From f749ca387d799c37aad802caea221faae5fd8869 Mon Sep 17 00:00:00 2001 From: Colton Willey Date: Wed, 4 Sep 2024 16:34:09 -0700 Subject: [PATCH 3/4] Rewrite to use test to make old mac sh versions happy --- scripts/external.test | 4 ++-- scripts/google.test | 4 ++-- scripts/ocsp-stapling.test | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/external.test b/scripts/external.test index 3a5bd1b177..2469cf9f4f 100755 --- a/scripts/external.test +++ b/scripts/external.test @@ -21,11 +21,11 @@ fi # Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. # Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. # Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. -if [[ ! -v WOLFSSL_EXTERNAL_TEST ]]; then +if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then echo "WOLFSSL_EXTERNAL_TEST not set, won't run" exit 77 fi -if [[ "$WOLFSSL_EXTERNAL_TEST" == "0" ]]; then +if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then echo "WOLFSSL_EXTERNAL_TEST is defined to zero, won't run" exit 77 fi diff --git a/scripts/google.test b/scripts/google.test index a2cb0388d9..ebc142c279 100755 --- a/scripts/google.test +++ b/scripts/google.test @@ -12,11 +12,11 @@ server=www.google.com # Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. # Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. # Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. -if [[ ! -v WOLFSSL_EXTERNAL_TEST ]]; then +if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then echo "WOLFSSL_EXTERNAL_TEST not set, won't run" exit 77 fi -if [[ "$WOLFSSL_EXTERNAL_TEST" == "0" ]]; then +if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then echo "WOLFSSL_EXTERNAL_TEST is defined to zero, won't run" exit 77 fi diff --git a/scripts/ocsp-stapling.test b/scripts/ocsp-stapling.test index 214916b6a7..8a2d12823f 100755 --- a/scripts/ocsp-stapling.test +++ b/scripts/ocsp-stapling.test @@ -17,7 +17,7 @@ fi # Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. # Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. # Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. -if [[ "$WOLFSSL_EXTERNAL_TEST" == "0" ]]; then +if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then echo 'skipping oscp-stapling.test because WOLFSSL_EXTERNAL_TEST is \ defined to the value 0.' exit 77 From 9ad4e565fe6d5355127d11a0d2f9d11f949f21a0 Mon Sep 17 00:00:00 2001 From: Colton Willey Date: Thu, 5 Sep 2024 15:10:50 -0700 Subject: [PATCH 4/4] Restore original comments --- scripts/external.test | 9 ++------- scripts/google.test | 6 ------ scripts/ocsp-stapling.test | 6 ------ 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/scripts/external.test b/scripts/external.test index 2469cf9f4f..970f6ad6d0 100755 --- a/scripts/external.test +++ b/scripts/external.test @@ -15,12 +15,7 @@ if ! ./examples/client/client -V | grep -q 3; then exit 77 fi -# These tests do not run by default, we will call these opt in. There are -# additional default tests that require network connection, those are -# opt out. -# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. -# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. -# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. +# cloudflare seems to change CAs quickly, disabled by default if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then echo "WOLFSSL_EXTERNAL_TEST not set, won't run" exit 77 @@ -30,7 +25,7 @@ if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then exit 77 fi -# cloudflare seems to change CAs quickly, disabled by default + BUILD_FLAGS="$(./examples/client/client '-#')" if echo "$BUILD_FLAGS" | fgrep -q -e ' -DWOLFSSL_SNIFFER '; then echo 'skipping WOLFSSL_EXTERNAL_TEST because -DWOLFSSL_SNIFFER configuration of build is incompatible.' diff --git a/scripts/google.test b/scripts/google.test index ebc142c279..5e3e8f0f96 100755 --- a/scripts/google.test +++ b/scripts/google.test @@ -6,12 +6,6 @@ server=www.google.com [ ! -x ./examples/client/client ] && echo -e "\n\nClient doesn't exist" && exit 1 -# These tests do not run by default, we will call these opt in. There are -# additional default tests that require network connection, those are -# opt out. -# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. -# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. -# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. if ! test -n "$WOLFSSL_EXTERNAL_TEST"; then echo "WOLFSSL_EXTERNAL_TEST not set, won't run" exit 77 diff --git a/scripts/ocsp-stapling.test b/scripts/ocsp-stapling.test index 8a2d12823f..731334c3da 100755 --- a/scripts/ocsp-stapling.test +++ b/scripts/ocsp-stapling.test @@ -11,12 +11,6 @@ if [[ -z "${RETRIES_REMAINING-}" ]]; then export RETRIES_REMAINING=2 fi -# These tests do run by default, we will call these opt out. There are -# additional non-default tests that require network connection, those are -# opt in. -# Not defining WOLFSSL_EXTERNAL_TEST runs only opt out. -# Defining WOLFSSL_EXTERNAL_TEST!=0 runs opt out and opt in. -# Defining WOLFSSL_EXTERNAL_TEST=0 does not run opt in or opt out. if test "$WOLFSSL_EXTERNAL_TEST" == "0"; then echo 'skipping oscp-stapling.test because WOLFSSL_EXTERNAL_TEST is \ defined to the value 0.'