diff --git a/Makefile b/Makefile index 7ed4e62a01..4590be8a2f 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,7 @@ DOCKER_ENVS := \ -e TEST_FORCE_VALIDATE \ -e TEST_INTEGRATION_DIR \ -e TEST_INTEGRATION_USE_SNAPSHOTTER \ + -e TEST_INTEGRATION_FAIL_FAST \ -e TEST_SKIP_INTEGRATION \ -e TEST_SKIP_INTEGRATION_CLI \ -e TESTCOVERAGE \ diff --git a/hack/make/.integration-test-helpers b/hack/make/.integration-test-helpers index 739c371e0a..e9b5de7eba 100644 --- a/hack/make/.integration-test-helpers +++ b/hack/make/.integration-test-helpers @@ -66,6 +66,7 @@ run_test_integration() { run_test_integration_suites() { local flags="-test.v -test.timeout=${TIMEOUT} $TESTFLAGS" local dirs="$1" + local failed=0 for dir in ${dirs}; do if ! ( cd "$dir" @@ -96,8 +97,16 @@ run_test_integration_suites() { --junitfile="${ABS_DEST}/${pkgname//./-}-junit-report.xml" \ --raw-command \ -- go tool test2json -p "${pkgname}" -t ./test.main ${pkgtestflags} - ); then exit 1; fi + ); then + if [ -n "${TEST_INTEGRATION_FAIL_FAST}" ]; then + exit 1 + fi + failed=1 + fi done + if [ $failed -eq 1 ]; then + exit 1 + fi } build_test_suite_binaries() {