| #!/usr/bin/env bash |
| # Copyright 2014 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. |
| |
| # This should match the ci.bat file in this directory. |
| |
| # This is called from .cirrus.yml and the LUCI recipes: |
| # https://flutter.googlesource.com/recipes/+/refs/heads/master/recipe_modules/adhoc_validation/resources/customer_testing.sh |
| |
| set -ex |
| |
| # This script does not assume that "flutter update-packages" has been |
| # run, to allow CIs to save time by skipping that steps since it's |
| # largely not needed to run the flutter/tests tests. |
| # |
| # However, we do need to update this directory and the tools directory. |
| dart __deprecated_pub get |
| (cd ../tools; dart __deprecated_pub get) # used for find_commit.dart below |
| |
| # Next we need to update the flutter/tests checkout. |
| # |
| # We use find_commit.dart so that we pull the version of flutter/tests |
| # that was contemporary when the branch we are on was created. That |
| # way, we can still run the tests on long-lived branches without being |
| # affected by breaking changes on trunk causing changes to the tests |
| # that wouldn't work on the long-lived branch. |
| # |
| # (This also prevents trunk from suddenly failing when tests are |
| # revved on flutter/tests -- if you rerun a passing customer_tests |
| # shard, it should still pass, even if we rolled one of the tests.) |
| rm -rf ../../bin/cache/pkg/tests |
| git clone https://github.com/flutter/tests.git ../../bin/cache/pkg/tests |
| git -C ../../bin/cache/pkg/tests checkout `dart --enable-asserts ../tools/bin/find_commit.dart ../../bin/cache/pkg/tests` |
| |
| # Finally, run the tests. |
| dart --enable-asserts run_tests.dart --verbose --skip-on-fetch-failure --skip-template ../../bin/cache/pkg/tests/registry/*.test |