Bladeren bron

Fix integration suite and propagate failures

Failures from the integration suite were not propagating to the outter shell
for some reason. Handle the failure with an if exit 1.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Daniel Nephin 8 jaren geleden
bovenliggende
commit
96707bc600
4 gewijzigde bestanden met toevoegingen van 18 en 6 verwijderingen
  1. 1 0
      Makefile
  2. 15 5
      hack/make/.integration-test-helpers
  3. 1 1
      hack/make/test-integration
  4. 1 0
      integration/service/inspect_test.go

+ 1 - 0
Makefile

@@ -35,6 +35,7 @@ DOCKER_ENVS := \
 	-e DOCKER_REMAP_ROOT \
 	-e DOCKER_STORAGE_OPTS \
 	-e DOCKER_USERLANDPROXY \
+	-e TEST_INTEGRATION_DIR \
 	-e TESTDIRS \
 	-e TESTFLAGS \
 	-e TIMEOUT \

+ 15 - 5
hack/make/.integration-test-helpers

@@ -8,22 +8,32 @@
 
 source "$SCRIPTDIR/make/.go-autogen"
 
+# Set defaults
 : ${TEST_REPEAT:=1}
+: ${TESTFLAGS:=}
+: ${TESTDEBUG:=}
 
-integration_api_dirs=("$(
+integration_api_dirs=${TEST_INTEGRATION_DIR:-"$(
 	find ./integration -type d |
-	grep -vE '^(./integration$|./integration/util)')")
+	grep -vE '^(./integration$|./integration/util)')"}
 
 run_test_integration() {
+	[[ "$TESTFLAGS" != *-check.f* ]] && run_test_integration_suites
+	run_test_integration_legacy_suites
+}
+
+run_test_integration_suites() {
 	local flags="-test.v -test.timeout=${TIMEOUT} $TESTFLAGS"
 	for dir in $integration_api_dirs; do
-		(
+		if ! (
 			cd $dir
 			echo "Running $PWD"
 			test_env ./test.main $flags
-		)
+		); then exit 1; fi
 	done
+}
 
+run_test_integration_legacy_suites() {
 	(
 		flags="-check.v -check.timeout=${TIMEOUT} -test.timeout=360m $TESTFLAGS"
 		cd integration-cli
@@ -33,7 +43,7 @@ run_test_integration() {
 }
 
 build_test_suite_binaries() {
-	if [ $DOCKER_INTEGRATION_TESTS_VERIFIED ]; then
+	if [ ${DOCKER_INTEGRATION_TESTS_VERIFIED-} ]; then
 		echo "Skipping building test binaries; as DOCKER_INTEGRATION_TESTS_VERIFIED is set"
 		return
 	fi

+ 1 - 1
hack/make/test-integration

@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-set -e
+set -e -o pipefail
 
 source "${MAKEDIR}/.go-autogen"
 source hack/make/.integration-test-helpers

+ 1 - 0
integration/service/inspect_test.go

@@ -18,6 +18,7 @@ import (
 )
 
 func TestInspect(t *testing.T) {
+	defer setupTest(t)()
 	d := newSwarm(t)
 	defer d.Stop(t)
 	client, err := request.NewClientForHost(d.Sock())