#!/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() { 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 -v github.com/docker/docker/vendor \ | grep -v github.com/docker/docker/integration-cli) go test -cover $GCCGOFLAGS -ldflags "$LDFLAGS" "${BUILDFLAGS[@]}" $TESTFLAGS $pkg_list } bundle_test_unit 2>&1 | tee -a "$DEST/test.log"