diff --git a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart index a17812b839..28f426fecf 100644 --- a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart +++ b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart @@ -432,19 +432,18 @@ void main() { }); group('screenshot', () { - MockProcessManager mockProcessManager; - - setUp(() { - mockProcessManager = MockProcessManager(); - }); - - test('is supported on posix platforms', () { + testUsingContext('is supported on posix platforms', () { final FuchsiaDevice device = FuchsiaDevice('id', name: 'tester'); expect(device.supportsScreenshot, true); - }, testOn: 'posix'); + }, overrides: { + Platform: () => FakePlatform( + operatingSystem: 'linux', + ), + }); testUsingContext('is not supported on Windows', () { final FuchsiaDevice device = FuchsiaDevice('id', name: 'tester'); + expect(device.supportsScreenshot, false); }, overrides: { Platform: () => FakePlatform( @@ -458,12 +457,12 @@ void main() { () => device.takeScreenshot(globals.fs.file('file.invalid')), throwsA(equals('file.invalid must be a .ppm file')), ); - }, testOn: 'posix'); + }); testUsingContext('takeScreenshot throws if screencap failed', () async { final FuchsiaDevice device = FuchsiaDevice('0.0.0.0', name: 'tester'); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -480,19 +479,20 @@ void main() { throwsA(equals('Could not take a screenshot on device tester:\n')), ); }, overrides: { - ProcessManager: () => mockProcessManager, + ProcessManager: () => MockProcessManager(), + FileSystem: () => MemoryFileSystem.test(), Platform: () => FakePlatform( environment: { 'FUCHSIA_SSH_CONFIG': '/fuchsia/out/default/.ssh', }, operatingSystem: 'linux', ), - }, testOn: 'posix'); + }); testUsingContext('takeScreenshot throws if scp failed', () async { final FuchsiaDevice device = FuchsiaDevice('0.0.0.0', name: 'tester'); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -504,7 +504,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'scp', '-F', @@ -516,7 +516,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 1, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -533,19 +533,20 @@ void main() { throwsA(equals('Failed to copy screenshot from device:\n')), ); }, overrides: { - ProcessManager: () => mockProcessManager, + ProcessManager: () => MockProcessManager(), + FileSystem: () => MemoryFileSystem.test(), Platform: () => FakePlatform( environment: { 'FUCHSIA_SSH_CONFIG': '/fuchsia/out/default/.ssh', }, operatingSystem: 'linux', ), - }, testOn: 'posix'); + }); testUsingContext("takeScreenshot prints error if can't delete file from device", () async { final FuchsiaDevice device = FuchsiaDevice('0.0.0.0', name: 'tester'); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -557,7 +558,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'scp', '-F', @@ -569,7 +570,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -591,7 +592,8 @@ void main() { contains('Failed to delete screenshot.ppm from the device:\n'), ); }, overrides: { - ProcessManager: () => mockProcessManager, + ProcessManager: () => MockProcessManager(), + FileSystem: () => MemoryFileSystem.test(), Platform: () => FakePlatform( environment: { 'FUCHSIA_SSH_CONFIG': '/fuchsia/out/default/.ssh', @@ -603,7 +605,7 @@ void main() { testUsingContext('takeScreenshot returns', () async { final FuchsiaDevice device = FuchsiaDevice('0.0.0.0', name: 'tester'); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -615,7 +617,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'scp', '-F', @@ -627,7 +629,7 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - when(mockProcessManager.run( + when(globals.processManager.run( const [ 'ssh', '-F', @@ -639,20 +641,18 @@ void main() { environment: anyNamed('environment'), )).thenAnswer((_) async => ProcessResult(0, 0, '', '')); - try { - await device.takeScreenshot(globals.fs.file('file.ppm')); - } on Exception catch (e) { - fail('Unexpected exception: $e'); - } + expect(() async => await device.takeScreenshot(globals.fs.file('file.ppm')), + returnsNormally); }, overrides: { - ProcessManager: () => mockProcessManager, + ProcessManager: () => MockProcessManager(), + FileSystem: () => MemoryFileSystem.test(), Platform: () => FakePlatform( environment: { 'FUCHSIA_SSH_CONFIG': '/fuchsia/out/default/.ssh', }, operatingSystem: 'linux', ), - }, testOn: 'posix'); + }); }); group('portForwarder', () {