| #!/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} |