summaryrefslogtreecommitdiff
path: root/test/scripts/e2e_go_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/scripts/e2e_go_tests.sh')
-rwxr-xr-xtest/scripts/e2e_go_tests.sh33
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 "----------------------------------------------------------------------"