From 416b16e1e200420644072b354b9595ffa9474682 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Sun, 8 Dec 2013 12:57:11 -0700 Subject: [PATCH] Simplify and resync hack/make/test and hack/make/dyntest output handling --- hack/make/dyntest | 18 ++++++++++++++++-- hack/make/test | 11 +++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/hack/make/dyntest b/hack/make/dyntest index 61f03ada1d..ae157dff55 100644 --- a/hack/make/dyntest +++ b/hack/make/dyntest @@ -10,6 +10,10 @@ if [ ! -x "$INIT" ]; then false fi +TEXTRESET=$'\033[0m' # reset the foreground colour +RED=$'\033[31m' +GREEN=$'\033[32m' + # 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. @@ -37,16 +41,26 @@ bundle_test() { go test -ldflags "$LDFLAGS -X github.com/dotcloud/docker/utils.INITSHA1 \"$DOCKER_INITSHA1\"" $BUILDFLAGS $TESTFLAGS ); 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 - echo "Test failures in: ${TESTS_FAILED[@]}" false + else + echo "${GREEN}Test success${TEXTRESET}" + echo + true fi } 2>&1 | tee $DEST/test.log } diff --git a/hack/make/test b/hack/make/test index c8fae70535..ad93e91cf8 100644 --- a/hack/make/test +++ b/hack/make/test @@ -35,21 +35,24 @@ bundle_test() { ); then TESTS_FAILED+=("$test_dir") echo - echo "${RED}Test Failed: $test_dir${TEXTRESET}" - 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 echo "${RED}Test failures in: ${TESTS_FAILED[@]}${TEXTRESET}" + echo false else - echo echo "${GREEN}Test success${TEXTRESET}" + echo true fi } 2>&1 | tee $DEST/test.log