make flutterProject option of CoverageCollector optional (#31074)
diff --git a/packages/flutter_tools/bin/fuchsia_tester.dart b/packages/flutter_tools/bin/fuchsia_tester.dart
index 85d5891..789aa5c 100644
--- a/packages/flutter_tools/bin/fuchsia_tester.dart
+++ b/packages/flutter_tools/bin/fuchsia_tester.dart
@@ -116,7 +116,10 @@
Directory testDirectory;
CoverageCollector collector;
if (argResults['coverage']) {
- collector = CoverageCollector(await FlutterProject.current(), coverageDirectory: coverageDirectory);
+ collector = CoverageCollector(
+ flutterProject: await FlutterProject.current(),
+ coverageDirectory: coverageDirectory,
+ );
if (!argResults.options.contains(_kOptionTestDirectory)) {
throwToolExit('Use of --coverage requires setting --test-directory');
}
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart
index 9a0924d..c616013 100644
--- a/packages/flutter_tools/lib/src/commands/test.dart
+++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -149,7 +149,9 @@
CoverageCollector collector;
if (argResults['coverage'] || argResults['merge-coverage']) {
- collector = CoverageCollector(await FlutterProject.current());
+ collector = CoverageCollector(
+ flutterProject: await FlutterProject.current(),
+ );
}
final bool machine = argResults['machine'];
diff --git a/packages/flutter_tools/lib/src/test/coverage_collector.dart b/packages/flutter_tools/lib/src/test/coverage_collector.dart
index 320bc04..4fec282 100644
--- a/packages/flutter_tools/lib/src/test/coverage_collector.dart
+++ b/packages/flutter_tools/lib/src/test/coverage_collector.dart
@@ -21,7 +21,7 @@
/// A class that's used to collect coverage data during tests.
class CoverageCollector extends TestWatcher {
- CoverageCollector(this.flutterProject, {this.coverageDirectory});
+ CoverageCollector({this.flutterProject, this.coverageDirectory});
Map<String, dynamic> _globalHitmap;
final Directory coverageDirectory;
@@ -63,6 +63,9 @@
if (coverageDirectory != null) {
return true;
}
+ if (flutterProject == null) {
+ return true;
+ }
return libraryName.contains(flutterProject.manifest.appName);
})
.then<void>((Map<String, dynamic> result) {