diff options
Diffstat (limited to 'test/scripts/e2e_go_tests.sh')
-rwxr-xr-x | test/scripts/e2e_go_tests.sh | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/test/scripts/e2e_go_tests.sh b/test/scripts/e2e_go_tests.sh index 09371bb88..1368f99e2 100755 --- a/test/scripts/e2e_go_tests.sh +++ b/test/scripts/e2e_go_tests.sh @@ -7,14 +7,28 @@ set -o pipefail export GOPATH=$(go env GOPATH) export GO111MODULE=on -GOTESTCOMMAND=${GOTESTCOMMAND:="go test"} + +# Needed for now because circleci doesn't use makefile yet +if [ -z "$(which gotestsum)" ]; then + GOTESTCOMMAND=${GOTESTCOMMAND:="go test"} +else + TEST_RESULTS=${TEST_RESULTS:="$(pwd)"} + GOTESTCOMMAND=${GOTESTCOMMAND:="gotestsum --format testname --junitfile ${TEST_RESULTS}/results.xml --jsonfile ${TEST_RESULTS}/testresults.json --"} +fi + +echo "GOTESTCOMMAND will be: ${GOTESTCOMMAND}" # If one or more -t <pattern> are specified, use GOTESTCOMMAND -run <pattern> for each TESTPATTERNS=() NORACEBUILD="" +export RUN_EXPECT="FALSE" while [ "$1" != "" ]; do case "$1" in + -e) + # The test code checks this variable. + export RUN_EXPECT="TRUE" + ;; -t) shift TESTPATTERNS+=($1) @@ -30,6 +44,11 @@ while [ "$1" != "" ]; do shift done +if [[ -n $TESTPATTERNS && -n $RUN_EXPECT ]]; then + echo "-t and -e are mutually exclusive." + exit 1 +fi + # Anchor our repo root reference location REPO_ROOT="$( cd "$(dirname "$0")" ; pwd -P )"/../.. @@ -89,18 +108,24 @@ if [[ "${ARCHTYPE}" = arm* ]]; then PARALLEL_FLAG="-p 1" fi +PACKAGES="./..." +if [ "$RUN_EXPECT" = "TRUE" ]; then + PACKAGES=$(go list ./...|grep expect) +fi + echo "PARALLEL_FLAG = ${PARALLEL_FLAG}" +echo "PACKAGES = ${PACKAGES}" if [ "${#TESTPATTERNS[@]}" -eq 0 ]; then - ${GOTESTCOMMAND} ${RACE_OPTION} ${PARALLEL_FLAG} -timeout 1h -v ${SHORTTEST} ./... + ${GOTESTCOMMAND} ${RACE_OPTION} ${PARALLEL_FLAG} -timeout 1h -v ${SHORTTEST} ${PACKAGES} else for TEST in ${TESTPATTERNS[@]}; do - ${GOTESTCOMMAND} ${RACE_OPTION} ${PARALLEL_FLAG} -timeout 1h -v ${SHORTTEST} -run ${TEST} ./... + ${GOTESTCOMMAND} ${RACE_OPTION} ${PARALLEL_FLAG} -timeout 1h -v ${SHORTTEST} -run ${TEST} ${PACKAGES} done fi if [ ${CLEANUP_TEMPDIR} -ne 0 ]; then - rm -rf ${TEMPDIR} + rm -rf "${TEMPDIR}" fi echo "----------------------------------------------------------------------" |