| #!/bin/bash |
| # Copyright 2019 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Runner for dart tests. It expects a single parameter with the full |
| # path to the start folder where tests will be run. |
| |
| set -ex |
| |
| # Build and analyze |
| echo "Running tests from $1" |
| pushd "$1" > /dev/null |
| flutter clean |
| dart pub get |
| |
| echo "############# files that require formatting ###########" |
| dart format --set-exit-if-changed --line-length=120 . |
| echo "#######################################################" |
| |
| # agent doesn't use build_runner as of this writing. |
| if grep -lq "build_runner" pubspec.yaml; then |
| echo "############# build ###########" |
| dart run build_runner build --delete-conflicting-outputs |
| echo "###############################" |
| fi |
| |
| # See https://github.com/dart-lang/sdk/issues/25551 for why this is necessary. |
| dart pub global run tuneup check |
| # Only try tests if test folder exist. |
| if [ -d 'test' ]; then |
| echo "############# tests ###########" |
| dart test --test-randomize-ordering-seed=random --reporter expanded |
| echo "###############################" |
| fi |
| |
| INTEGRATION_TEST_DIR="$PWD/integration_test/" |
| # Only try tests if integration test folder exist. |
| if [ -d "$INTEGRATION_TEST_DIR" ]; then |
| echo "###### integration tests ######" |
| dart test --test-randomize-ordering-seed=random --reporter expanded "$INTEGRATION_TEST_DIR" |
| echo "###############################" |
| fi |
| |
| popd > /dev/null |