@@ -139,15 +139,14 @@ function __build_test_runner_for_module() {
139139 # Don't merge these two lines, or return code will always be 0.
140140 # Get all build tags in go code (ignore /vendor, /hack and /third_party)
141141 local tags
142- tags=" $( grep -I -r ' // +build' . | \
143- grep -v ' /vendor/' | \
142+ tags=" $( grep -I -r ' // +build' . | grep -v ' /vendor/' | \
144143 grep -v ' /hack/' | \
145144 grep -v ' /third_party' | \
146145 cut -f3 -d' ' | \
147146 tr ' ,' ' \n' | \
148147 sort | uniq | \
149148 grep -v ' ^!' | \
150- tr ' \n ' ' ' ) "
149+ paste -s -d, /dev/stdin ) "
151150 local go_pkg_dirs
152151 go_pkg_dirs=" $( go list -tags " ${tags} " ./...) " || return $?
153152 if [[ -z " ${go_pkg_dirs} " ]]; then
@@ -241,13 +240,14 @@ function run_integration_tests() {
241240function default_integration_test_runner() {
242241 local failed=0
243242
244- while IFS= read -r e2e_test; do
245- echo " Running integration test ${e2e_test} "
246- if ! ${e2e_test} ; then
247- failed=1
248- step_failed " ${e2e_test} "
243+ while read -r e2e_test; do
244+ subheader " Running integration test ${e2e_test} "
245+ " ${e2e_test} " || failed=$?
246+ if (( failed )) ; then
247+ echo " ${e2e_test} failed: $failed " >&2
248+ return $failed
249249 fi
250- done < <( find test/ ! -name " $( printf " *\n*" ) " -name " e2e-*tests.sh" -maxdepth 1 )
250+ done < <( find test/ -maxdepth 1 ! -name " $( printf " *\n*" ) " -name " e2e-*tests.sh" )
251251 return ${failed}
252252}
253253
@@ -355,18 +355,18 @@ function main() {
355355 exit 0
356356 fi
357357 for test_to_run in " ${TESTS_TO_RUN[@]} " ; do
358- ${test_to_run} || { failed=1 ; step_failed " ${test_to_run} " ; }
358+ ${test_to_run} || { failed=$? ; step_failed " ${test_to_run} " ; }
359359 done
360360 fi
361361
362- run_build_tests || { failed=1 ; step_failed " run_build_tests" ; }
362+ run_build_tests || { failed=$? ; step_failed " run_build_tests" ; }
363363 # If PRESUBMIT_TEST_FAIL_FAST is set to true, don't run unit tests if build tests failed
364364 if (( ! PRESUBMIT_TEST_FAIL_FAST )) || (( ! failed )) ; then
365- run_unit_tests || { failed=1 ; step_failed " run_unit_tests" ; }
365+ run_unit_tests || { failed=$? ; step_failed " run_unit_tests" ; }
366366 fi
367367 # If PRESUBMIT_TEST_FAIL_FAST is set to true, don't run integration tests if build/unit tests failed
368368 if (( ! PRESUBMIT_TEST_FAIL_FAST )) || (( ! failed )) ; then
369- run_integration_tests || { failed=1 ; step_failed " run_integration_tests" ; }
369+ run_integration_tests || { failed=$? ; step_failed " run_integration_tests" ; }
370370 fi
371371
372372 exit ${failed}
0 commit comments