#!/usr/bin/env bash # # Run unit tests and create report # # TESTFLAGS - add additional test flags. Ex: # # TESTFLAGS='-v -run TestBuild' hack/test/unit # # TESTDIRS - run tests for specified packages. Ex: # # TESTDIRS='./pkg/term' hack/test/unit # set -eu -o pipefail BUILDFLAGS=(-tags 'netgo seccomp libdm_no_deferred_remove') TESTFLAGS+=" -test.timeout=${TIMEOUT:-5m}" TESTDIRS="${TESTDIRS:-./...}" exclude_paths='/vendor/|/integration' pkg_list=$(go list $TESTDIRS | grep -vE "($exclude_paths)") mkdir -p bundles gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report.json --junitfile=bundles/junit-report.xml -- \ "${BUILDFLAGS[@]}" \ -cover \ -coverprofile=bundles/profile.out \ -covermode=atomic \ ${TESTFLAGS} \ ${pkg_list}