diff --git a/dev/bots/test.sh b/dev/bots/test.sh index f45721db0..6da3367cb 100755 --- a/dev/bots/test.sh +++ b/dev/bots/test.sh @@ -1,20 +1,27 @@ #!/bin/bash -set -ex export PATH="$PWD/bin:$PWD/bin/cache/dart-sdk/bin:$PATH" -die() { +trap detect_error_on_exit EXIT HUP INT QUIT TERM + +detect_error_on_exit() { + exit_code=$? set +x - echo "Error: script exited early due to error" - exit 1 + if [[ $exit_code -ne 0 ]]; then + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "Error: script exited early due to error ($exit_code)" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + fi } +set -ex + # analyze all the Dart code in the repo flutter analyze --flutter-repo # verify that the tests actually return failure on failure and success on success -(cd dev/automated_tests; ! flutter test test_smoke_test/fail_test.dart > /dev/null) || die -(cd dev/automated_tests; flutter test test_smoke_test/pass_test.dart > /dev/null) || die +(cd dev/automated_tests; ! flutter test test_smoke_test/fail_test.dart > /dev/null) +(cd dev/automated_tests; flutter test test_smoke_test/pass_test.dart > /dev/null) # run tests (cd packages/flutter; flutter test)