12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/bin/bash
- set -e
- # Run Docker's test suite, including sub-packages, and store their output as a bundle
- # If $TESTFLAGS is set in the environment, it is passed as extra arguments to 'go test'.
- # You can use this to select certain tests to run, eg.
- #
- # TESTFLAGS='-test.run ^TestBuild$' ./hack/make.sh test-unit
- #
- bundle_test_unit() {
- TESTFLAGS+=" -test.timeout=${TIMEOUT}"
- INCBUILD="-i"
- count=0
- for flag in "${BUILDFLAGS[@]}"; do
- if [ "${flag}" == ${INCBUILD} ]; then
- unset BUILDFLAGS[${count}]
- break
- fi
- count=$[ ${count} + 1 ]
- done
- date
- if [ -z "$TESTDIRS" ]; then
- TEST_PATH=./...
- else
- TEST_PATH=./${TESTDIRS}
- fi
- pkg_list=$(go list -e \
- -f '{{if ne .Name "github.com/docker/docker"}}
- {{.ImportPath}}
- {{end}}' \
- "${BUILDFLAGS[@]}" $TEST_PATH \
- | grep github.com/docker/docker \
- | grep -v github.com/docker/docker/vendor \
- | grep -v github.com/docker/docker/man \
- | grep -v github.com/docker/docker/integration-cli)
- go test $COVER $GCCGOFLAGS -ldflags "$LDFLAGS" "${BUILDFLAGS[@]}" $TESTFLAGS $pkg_list
- }
- if [[ "$(go version)" == *"gccgo"* ]]; then
- GCCGOFLAGS=-gccgoflags="-lpthread"
- else
- COVER=-cover
- fi
- bundle_test_unit 2>&1 | tee -a "$DEST/test.log"
|