Commit 75dc0336 authored by Yegor's avatar Yegor Committed by GitHub

cancel timeout when waiting for driver extension (#9354)

parent ecdfe658
...@@ -217,16 +217,15 @@ class FlutterDriver { ...@@ -217,16 +217,15 @@ class FlutterDriver {
// option, then the VM service extension is not registered yet. Wait for // option, then the VM service extension is not registered yet. Wait for
// it to be registered. // it to be registered.
final Future<dynamic> whenResumed = resumeLeniently(); final Future<dynamic> whenResumed = resumeLeniently();
final Future<dynamic> whenServiceExtensionReady = Future.any<dynamic>(<Future<dynamic>>[ final Future<dynamic> whenServiceExtensionReady = waitForServiceExtension();
waitForServiceExtension(), await whenResumed;
try {
_log.trace('Waiting for service extension');
// We will never receive the extension event if the user does not // We will never receive the extension event if the user does not
// register it. If that happens time out. // register it. If that happens time out.
new Future<String>.delayed(_kLongTimeout * 2, () => 'timeout') await whenServiceExtensionReady.timeout(_kLongTimeout * 2);
]); } on TimeoutException catch (_) {
await whenResumed;
_log.trace('Waiting for service extension');
final dynamic signal = await whenServiceExtensionReady;
if (signal == 'timeout') {
throw new DriverError( throw new DriverError(
'Timed out waiting for Flutter Driver extension to become available. ' 'Timed out waiting for Flutter Driver extension to become available. '
'Ensure your test app (often: lib/main.dart) imports ' 'Ensure your test app (often: lib/main.dart) imports '
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment