[device_doctor] add debug logging to ios-debug-symbol-doctor (#1948)
diff --git a/device_doctor/lib/src/ios_debug_symbol_doctor.dart b/device_doctor/lib/src/ios_debug_symbol_doctor.dart
index 4296d7d..5db83bf 100644
--- a/device_doctor/lib/src/ios_debug_symbol_doctor.dart
+++ b/device_doctor/lib/src/ios_debug_symbol_doctor.dart
@@ -35,7 +35,9 @@
);
return false;
}
- final Iterable<XCDevice> devices = XCDevice.parseJson(result.stdout as String);
+ final String stdout = result.stdout as String;
+ logger.info(stdout);
+ final Iterable<XCDevice> devices = XCDevice.parseJson(stdout);
final Iterable<XCDevice> devicesWithErrors = devices.where((XCDevice device) => device.hasError);
if (devicesWithErrors.isNotEmpty) {
diff --git a/device_doctor/test/src/ios_debug_symbol_doctor_test.dart b/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
index 8f86b93..e1ddfb2 100644
--- a/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
+++ b/device_doctor/test/src/ios_debug_symbol_doctor_test.dart
@@ -46,7 +46,7 @@
);
}
- group('recover sub-command opens Xcode, waits for timeout, then kills Xcode', () {
+ group('commands', () {
late MockProcessManager processManager;
late TestLogger logger;
const String cocoonPath = '/path/to/cocoon';
@@ -60,7 +60,23 @@
fs.directory(xcworkspacePath).createSync(recursive: true);
});
- test('dart ios_debug_symbol_doctor.dart recover opens Xcode, waits, then kills it', () async {
+ test('diagnose logs output of xcdevice list', () async {
+ when(
+ processManager.run(<String>['xcrun', 'xcdevice', 'list']),
+ ).thenAnswer((_) async {
+ return ProcessResult(0, 0, _jsonWithNonFatalErrors, '');
+ });
+ final CommandRunner<bool> runner = _createTestRunner();
+ final command = DiagnoseCommand(
+ processManager: processManager,
+ loggerOverride: logger,
+ );
+ runner.addCommand(command);
+ await runner.run(<String>['diagnose']);
+ expect(logger.logs[Level.INFO], contains(_jsonWithNonFatalErrors));
+ });
+
+ test('recover opens Xcode, waits, then kills it', () async {
when(
processManager.run(<String>['open', '-n', '-F', '-W', xcworkspacePath]),
).thenAnswer((_) async {