|
@@ -10,61 +10,7 @@ if [ ! -x "$INIT" ]; then
|
|
|
false
|
|
|
fi
|
|
|
|
|
|
-TEXTRESET=$'\033[0m' # reset the foreground colour
|
|
|
-RED=$'\033[31m'
|
|
|
-GREEN=$'\033[32m'
|
|
|
+export TEST_DOCKERINIT_PATH="$INIT"
|
|
|
|
|
|
-# 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='-run ^TestBuild$' ./hack/make.sh test
|
|
|
-#
|
|
|
-bundle_test() {
|
|
|
- {
|
|
|
- date
|
|
|
-
|
|
|
- export TEST_DOCKERINIT_PATH=$DEST/../dynbinary/dockerinit-$VERSION
|
|
|
-
|
|
|
- TESTS_FAILED=()
|
|
|
- for test_dir in $(find_test_dirs); do
|
|
|
- echo
|
|
|
-
|
|
|
- if ! LDFLAGS="$LDFLAGS -X github.com/dotcloud/docker/utils.INITSHA1 \"$DOCKER_INITSHA1\"" go_test_dir "$test_dir"; then
|
|
|
- TESTS_FAILED+=("$test_dir")
|
|
|
- echo
|
|
|
- echo "${RED}Tests failed: $test_dir${TEXTRESET}"
|
|
|
- sleep 1 # give it a second, so observers watching can take note
|
|
|
- fi
|
|
|
- done
|
|
|
-
|
|
|
- echo
|
|
|
- echo
|
|
|
- echo
|
|
|
-
|
|
|
- # if some tests fail, we want the bundlescript to fail, but we want to
|
|
|
- # try running ALL the tests first, hence TESTS_FAILED
|
|
|
- if [ "${#TESTS_FAILED[@]}" -gt 0 ]; then
|
|
|
- echo "${RED}Test failures in: ${TESTS_FAILED[@]}${TEXTRESET}"
|
|
|
- echo
|
|
|
- false
|
|
|
- else
|
|
|
- echo "${GREEN}Test success${TEXTRESET}"
|
|
|
- echo
|
|
|
- true
|
|
|
- fi
|
|
|
- } 2>&1 | tee $DEST/test.log
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-# This helper function walks the current directory looking for directories
|
|
|
-# holding Go test files, and prints their paths on standard output, one per
|
|
|
-# line.
|
|
|
-find_test_dirs() {
|
|
|
- find -not \( \
|
|
|
- \( -wholename './vendor' -o -wholename './integration' \) \
|
|
|
- -prune \
|
|
|
- \) -name '*_test.go' -print0 | xargs -0n1 dirname | sort -u
|
|
|
-}
|
|
|
-
|
|
|
-bundle_test
|
|
|
+LDFLAGS_STATIC="-X github.com/dotcloud/docker/utils.INITSHA1 \"$DOCKER_INITSHA1\"" \
|
|
|
+ source "$(dirname "$BASH_SOURCE")/test"
|