| #!/usr/bin/env bash |
| # |
| # Run unit tests |
| # |
| # 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 |
| |
| TESTFLAGS+=" -test.timeout=${TIMEOUT:-5m}" |
| BUILDFLAGS=( -tags "netgo seccomp libdm_no_deferred_remove" ) |
| TESTDIRS="${TESTDIRS:-"./..."}" |
| |
| exclude_paths="/vendor/|/integration" |
| if [ "$(go env GOHOSTOS)" = 'solaris' ]; then |
| exclude_paths="$exclude_paths|/daemon/graphdriver" |
| fi |
| pkg_list=$(go list $TESTDIRS | grep -vE "($exclude_paths)") |
| |
| go test -cover "${BUILDFLAGS[@]}" $TESTFLAGS $pkg_list |