github.com/duglin/docker@v1.13.1/hack/make/test-unit (about) 1 #!/bin/bash 2 set -e 3 4 # Run Docker's test suite, including sub-packages, and store their output as a bundle 5 # If $TESTFLAGS is set in the environment, it is passed as extra arguments to 'go test'. 6 # You can use this to select certain tests to run, e.g. 7 # 8 # TESTFLAGS='-test.run ^TestBuild$' ./hack/make.sh test-unit 9 # 10 bundle_test_unit() { 11 TESTFLAGS+=" -test.timeout=${TIMEOUT}" 12 INCBUILD="-i" 13 count=0 14 for flag in "${BUILDFLAGS[@]}"; do 15 if [ "${flag}" == ${INCBUILD} ]; then 16 unset BUILDFLAGS[${count}] 17 break 18 fi 19 count=$[ ${count} + 1 ] 20 done 21 22 date 23 if [ -z "$TESTDIRS" ]; then 24 TEST_PATH=./... 25 else 26 TEST_PATH=./${TESTDIRS} 27 fi 28 29 if [ "$(go env GOHOSTOS)" = 'solaris' ]; then 30 pkg_list=$(go list -e \ 31 -f '{{if ne .Name "github.com/docker/docker"}} 32 {{.ImportPath}} 33 {{end}}' \ 34 "${BUILDFLAGS[@]}" $TEST_PATH \ 35 | grep github.com/docker/docker \ 36 | grep -v github.com/docker/docker/vendor \ 37 | grep -v github.com/docker/docker/daemon/graphdriver \ 38 | grep -v github.com/docker/docker/man \ 39 | grep -v github.com/docker/docker/integration-cli) 40 else 41 pkg_list=$(go list -e \ 42 -f '{{if ne .Name "github.com/docker/docker"}} 43 {{.ImportPath}} 44 {{end}}' \ 45 "${BUILDFLAGS[@]}" $TEST_PATH \ 46 | grep github.com/docker/docker \ 47 | grep -v github.com/docker/docker/vendor \ 48 | grep -v github.com/docker/docker/man \ 49 | grep -v github.com/docker/docker/integration-cli) 50 fi 51 52 go test -cover -ldflags "$LDFLAGS" "${BUILDFLAGS[@]}" $TESTFLAGS $pkg_list 53 } 54 55 bundle_test_unit 2>&1 | tee -a "$DEST/test.log"