Observe logging from VM service on iOS 13 (#43915)
diff --git a/packages/flutter_tools/test/general.shard/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_runner_test.dart
index 2ed7552..ceeb55d 100644
--- a/packages/flutter_tools/test/general.shard/resident_runner_test.dart
+++ b/packages/flutter_tools/test/general.shard/resident_runner_test.dart
@@ -9,6 +9,7 @@
import 'package:flutter_tools/src/base/common.dart';
import 'package:flutter_tools/src/base/context.dart';
import 'package:flutter_tools/src/base/file_system.dart';
+import 'package:flutter_tools/src/base/io.dart' as io;
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/compile.dart';
@@ -626,6 +627,23 @@
}, overrides: <Type, Generator>{
FeatureFlags: () => TestFeatureFlags(isWebIncrementalCompilerEnabled: true),
}));
+
+ test('connect sets up log reader', () => testbed.run(() async {
+ final MockDevice mockDevice = MockDevice();
+ final MockDeviceLogReader mockLogReader = MockDeviceLogReader();
+ when(mockDevice.getLogReader(app: anyNamed('app'))).thenReturn(mockLogReader);
+
+ final TestFlutterDevice flutterDevice = TestFlutterDevice(
+ mockDevice,
+ <FlutterView>[],
+ observatoryUris: <Uri>[ testUri ]
+ );
+
+ await flutterDevice.connect();
+ verify(mockLogReader.connectedVMServices = <VMService>[ mockVMService ]);
+ }, overrides: <Type, Generator>{
+ VMServiceConnector: () => (Uri httpUri, { ReloadSources reloadSources, Restart restart, CompileExpression compileExpression, io.CompressionOptions compression }) async => mockVMService,
+ }));
}
class MockFlutterDevice extends Mock implements FlutterDevice {}
@@ -634,15 +652,22 @@
class MockDevFS extends Mock implements DevFS {}
class MockIsolate extends Mock implements Isolate {}
class MockDevice extends Mock implements Device {}
+class MockDeviceLogReader extends Mock implements DeviceLogReader {}
class MockUsage extends Mock implements Usage {}
class MockProcessManager extends Mock implements ProcessManager {}
class MockServiceEvent extends Mock implements ServiceEvent {}
class TestFlutterDevice extends FlutterDevice {
- TestFlutterDevice(Device device, this.views)
- : super(device, buildMode: BuildMode.debug, trackWidgetCreation: false);
+ TestFlutterDevice(Device device, this.views, { List<Uri> observatoryUris })
+ : super(device, buildMode: BuildMode.debug, trackWidgetCreation: false) {
+ _observatoryUris = observatoryUris;
+ }
@override
final List<FlutterView> views;
+
+ @override
+ List<Uri> get observatoryUris => _observatoryUris;
+ List<Uri> _observatoryUris;
}
class ThrowingForwardingFileSystem extends ForwardingFileSystem {