Skip to content

Commit 31fd0f7

Browse files
authored
[flutter_driver] Remove runUnsynchronized in VMServiceFlutterDriver (flutter#87467)
1 parent 52bf9db commit 31fd0f7

File tree

2 files changed

+34
-12
lines changed

2 files changed

+34
-12
lines changed

packages/flutter_driver/lib/src/driver/vmservice_driver.dart

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -485,18 +485,6 @@ class VMServiceFlutterDriver extends FlutterDriver {
485485
}
486486
}
487487

488-
@override
489-
Future<T> runUnsynchronized<T>(Future<T> Function() action, { Duration? timeout }) async {
490-
await sendCommand(SetFrameSync(false, timeout: timeout));
491-
T result;
492-
try {
493-
result = await action();
494-
} finally {
495-
await sendCommand(SetFrameSync(true, timeout: timeout));
496-
}
497-
return result;
498-
}
499-
500488
@override
501489
Future<void> forceGC() async {
502490
try {

packages/flutter_driver/test/src/real_tests/flutter_driver_test.dart

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,23 @@ void main() {
666666
test('VMServiceFlutterDriver does not support webDriver', () async {
667667
expect(() => driver.webDriver, throwsUnsupportedError);
668668
});
669+
670+
group('runUnsynchronized', () {
671+
test('wrap waitFor with runUnsynchronized', () async {
672+
fakeClient.responses['waitFor'] = makeFakeResponse(<String, dynamic>{});
673+
fakeClient.responses['set_frame_sync'] = makeFakeResponse(<String, dynamic>{});
674+
675+
await driver.runUnsynchronized(() async {
676+
await driver.waitFor(find.byTooltip('foo'), timeout: _kTestTimeout);
677+
});
678+
679+
expect(fakeClient.commandLog, <String>[
680+
'ext.flutter.driver {command: set_frame_sync, enabled: false}',
681+
'ext.flutter.driver {command: waitFor, timeout: $_kSerializedTestTimeout, finderType: ByTooltipMessage, text: foo}',
682+
'ext.flutter.driver {command: set_frame_sync, enabled: true}'
683+
]);
684+
});
685+
});
669686
});
670687

671688
group('VMServiceFlutterDriver with custom timeout', () {
@@ -965,6 +982,23 @@ void main() {
965982
expect(() => driver.serviceClient.getVM(), throwsUnsupportedError);
966983
});
967984
});
985+
986+
group('runUnsynchronized', () {
987+
test('wrap waitFor with runUnsynchronized', () async {
988+
fakeConnection.responses['waitFor'] = jsonEncode(makeFakeResponse(<String, dynamic>{'text': 'hello'}));
989+
fakeConnection.responses['set_frame_sync'] = jsonEncode(makeFakeResponse(<String, dynamic>{}));
990+
991+
await driver.runUnsynchronized(() async {
992+
await driver.waitFor(find.byTooltip('foo'), timeout: _kTestTimeout);
993+
});
994+
995+
expect(fakeConnection.commandLog, <String>[
996+
r'''window.$flutterDriver('{"command":"set_frame_sync","enabled":"false"}') null''',
997+
r'''window.$flutterDriver('{"command":"waitFor","timeout":"1234","finderType":"ByTooltipMessage","text":"foo"}') 0:00:01.234000''',
998+
r'''window.$flutterDriver('{"command":"set_frame_sync","enabled":"true"}') null''',
999+
]);
1000+
});
1001+
});
9681002
});
9691003

9701004
group('WebFlutterDriver with non-chrome browser', () {

0 commit comments

Comments
 (0)