Ensure to close connection to VM after collecting coverage (#50943)
diff --git a/packages/flutter_tools/lib/src/test/coverage_collector.dart b/packages/flutter_tools/lib/src/test/coverage_collector.dart index e89dc42..72171bc 100644 --- a/packages/flutter_tools/lib/src/test/coverage_collector.dart +++ b/packages/flutter_tools/lib/src/test/coverage_collector.dart
@@ -181,7 +181,10 @@ }) async { final VMService vmService = await connector(serviceUri); await vmService.getVM(); - return _getAllCoverage(vmService, libraryPredicate); + final Map<String, dynamic> result = await _getAllCoverage( + vmService, libraryPredicate); + await vmService.close(); + return result; } Future<Map<String, dynamic>> _getAllCoverage(VMService service, bool Function(String) libraryPredicate) async {
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index 7fc4664..f18f802 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -452,6 +452,8 @@ Future<void> getVM() async => await vm.reload(); Future<void> refreshViews({ bool waitForViews = false }) => vm.refreshViews(waitForViews: waitForViews); + + Future<void> close() async => await _peer.close(); } /// An error that is thrown when constructing/updating a service object.