Skip to content

Commit f0fc419

Browse files
authored
Refactor framework coverage tests (#146210)
Refactor framework coverage tests in order to reduce testing logic in test.dart and allow for later implementing package:test onto the existing framework coverage tests Part of flutter/flutter#145482
1 parent 7610cec commit f0fc419

File tree

3 files changed

+35
-27
lines changed

3 files changed

+35
-27
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright 2014 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
import 'dart:io' show File;
6+
7+
import 'package:path/path.dart' as path;
8+
9+
import '../utils.dart';
10+
11+
Future<void> frameworkCoverageRunner() async {
12+
final File coverageFile = File(path.join(flutterRoot, 'packages', 'flutter', 'coverage', 'lcov.info'));
13+
if (!coverageFile.existsSync()) {
14+
foundError(<String>[
15+
'${red}Coverage file not found.$reset',
16+
'Expected to find: $cyan${coverageFile.absolute.path}$reset',
17+
'This file is normally obtained by running `${green}flutter update-packages$reset`.',
18+
]);
19+
return;
20+
}
21+
coverageFile.deleteSync();
22+
await runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'),
23+
options: const <String>['--coverage'],
24+
);
25+
if (!coverageFile.existsSync()) {
26+
foundError(<String>[
27+
'${red}Coverage file not found.$reset',
28+
'Expected to find: $cyan${coverageFile.absolute.path}$reset',
29+
'This file should have been generated by the `${green}flutter test --coverage$reset` script, but was not.',
30+
]);
31+
return;
32+
}
33+
}

dev/bots/test.dart

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ import 'suite_runners/run_analyze_tests.dart';
6464
import 'suite_runners/run_customer_testing_tests.dart';
6565
import 'suite_runners/run_docs_tests.dart';
6666
import 'suite_runners/run_flutter_packages_tests.dart';
67+
import 'suite_runners/run_framework_coverage_tests.dart';
6768
import 'suite_runners/run_fuchsia_precache.dart';
6869
import 'suite_runners/run_realm_checker_tests.dart';
6970
import 'suite_runners/run_skp_generator_tests.dart';
@@ -139,7 +140,7 @@ Future<void> main(List<String> args) async {
139140
await selectShard(<String, ShardRunner>{
140141
'add_to_app_life_cycle_tests': () => addToAppLifeCycleRunner(flutterRoot),
141142
'build_tests': _runBuildTests,
142-
'framework_coverage': _runFrameworkCoverage,
143+
'framework_coverage': frameworkCoverageRunner,
143144
'framework_tests': _runFrameworkTests,
144145
'tool_tests': _runToolTests,
145146
// 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<void> _runFrameworkTests() async {
988989
});
989990
}
990991

991-
Future<void> _runFrameworkCoverage() async {
992-
final File coverageFile = File(path.join(flutterRoot, 'packages', 'flutter', 'coverage', 'lcov.info'));
993-
if (!coverageFile.existsSync()) {
994-
foundError(<String>[
995-
'${red}Coverage file not found.$reset',
996-
'Expected to find: $cyan${coverageFile.absolute.path}$reset',
997-
'This file is normally obtained by running `${green}flutter update-packages$reset`.',
998-
]);
999-
return;
1000-
}
1001-
coverageFile.deleteSync();
1002-
await runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'),
1003-
options: const <String>['--coverage'],
1004-
);
1005-
if (!coverageFile.existsSync()) {
1006-
foundError(<String>[
1007-
'${red}Coverage file not found.$reset',
1008-
'Expected to find: $cyan${coverageFile.absolute.path}$reset',
1009-
'This file should have been generated by the `${green}flutter test --coverage$reset` script, but was not.',
1010-
]);
1011-
return;
1012-
}
1013-
}
1014-
1015-
1016992
/// This will force the next run of the Flutter tool (if it uses the provided
1017993
/// environment) to have asserts enabled, by setting an environment variable.
1018994
void adjustEnvironmentToEnableFlutterAsserts(Map<String, String> environment) {

dev/bots/utils.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ typedef ShardRunner = Future<void> Function();
2929
/// appropriate error message.
3030
typedef OutputChecker = String? Function(CommandResult);
3131

32-
3332
const Duration _quietTimeout = Duration(minutes: 10); // how long the output should be hidden between calls to printProgress before just being verbose
3433

3534
// If running from LUCI set to False.

0 commit comments

Comments
 (0)