diff --git a/dev/bots/suite_runners/run_framework_coverage_tests.dart b/dev/bots/suite_runners/run_framework_coverage_tests.dart new file mode 100644 index 0000000000..d7413b66f2 --- /dev/null +++ b/dev/bots/suite_runners/run_framework_coverage_tests.dart @@ -0,0 +1,33 @@ +// 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. + +import 'dart:io' show File; + +import 'package:path/path.dart' as path; + +import '../utils.dart'; + +Future frameworkCoverageRunner() async { + final File coverageFile = File(path.join(flutterRoot, 'packages', 'flutter', 'coverage', 'lcov.info')); + if (!coverageFile.existsSync()) { + foundError([ + '${red}Coverage file not found.$reset', + 'Expected to find: $cyan${coverageFile.absolute.path}$reset', + 'This file is normally obtained by running `${green}flutter update-packages$reset`.', + ]); + return; + } + coverageFile.deleteSync(); + await runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'), + options: const ['--coverage'], + ); + if (!coverageFile.existsSync()) { + foundError([ + '${red}Coverage file not found.$reset', + 'Expected to find: $cyan${coverageFile.absolute.path}$reset', + 'This file should have been generated by the `${green}flutter test --coverage$reset` script, but was not.', + ]); + return; + } +} diff --git a/dev/bots/test.dart b/dev/bots/test.dart index da2fa40cb7..c1a8dc5c50 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -64,6 +64,7 @@ import 'suite_runners/run_analyze_tests.dart'; import 'suite_runners/run_customer_testing_tests.dart'; import 'suite_runners/run_docs_tests.dart'; import 'suite_runners/run_flutter_packages_tests.dart'; +import 'suite_runners/run_framework_coverage_tests.dart'; import 'suite_runners/run_fuchsia_precache.dart'; import 'suite_runners/run_realm_checker_tests.dart'; import 'suite_runners/run_skp_generator_tests.dart'; @@ -139,7 +140,7 @@ Future main(List args) async { await selectShard({ 'add_to_app_life_cycle_tests': () => addToAppLifeCycleRunner(flutterRoot), 'build_tests': _runBuildTests, - 'framework_coverage': _runFrameworkCoverage, + 'framework_coverage': frameworkCoverageRunner, 'framework_tests': _runFrameworkTests, 'tool_tests': _runToolTests, // web_tool_tests is also used by HHH: https://dart.googlesource.com/recipes/+/refs/heads/master/recipes/dart/flutter_engine.py @@ -988,31 +989,6 @@ Future _runFrameworkTests() async { }); } -Future _runFrameworkCoverage() async { - final File coverageFile = File(path.join(flutterRoot, 'packages', 'flutter', 'coverage', 'lcov.info')); - if (!coverageFile.existsSync()) { - foundError([ - '${red}Coverage file not found.$reset', - 'Expected to find: $cyan${coverageFile.absolute.path}$reset', - 'This file is normally obtained by running `${green}flutter update-packages$reset`.', - ]); - return; - } - coverageFile.deleteSync(); - await runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'), - options: const ['--coverage'], - ); - if (!coverageFile.existsSync()) { - foundError([ - '${red}Coverage file not found.$reset', - 'Expected to find: $cyan${coverageFile.absolute.path}$reset', - 'This file should have been generated by the `${green}flutter test --coverage$reset` script, but was not.', - ]); - return; - } -} - - /// This will force the next run of the Flutter tool (if it uses the provided /// environment) to have asserts enabled, by setting an environment variable. void adjustEnvironmentToEnableFlutterAsserts(Map environment) { diff --git a/dev/bots/utils.dart b/dev/bots/utils.dart index 478c243f70..7306ced518 100644 --- a/dev/bots/utils.dart +++ b/dev/bots/utils.dart @@ -29,7 +29,6 @@ typedef ShardRunner = Future Function(); /// appropriate error message. typedef OutputChecker = String? Function(CommandResult); - const Duration _quietTimeout = Duration(minutes: 10); // how long the output should be hidden between calls to printProgress before just being verbose // If running from LUCI set to False.