Don't elapse real time during IOSDevice.startApp tests (#58538) (#58622)

diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index 2d052cd..a381c5c 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -300,6 +300,7 @@
     Map<String, dynamic> platformArgs,
     bool prebuiltApplication = false,
     bool ipv6 = false,
+    @visibleForTesting Duration fallbackPollingDelay,
   }) async {
     String packageId;
 
@@ -416,6 +417,7 @@
         portForwarder: portForwarder,
         protocolDiscovery: observatoryDiscovery,
         flutterUsage: globals.flutterUsage,
+        pollingDelay: fallbackPollingDelay,
       );
       final Uri localUri = await fallbackDiscovery.discover(
         assumedDevicePort: assumedObservatoryPort,
diff --git a/packages/flutter_tools/lib/src/ios/fallback_discovery.dart b/packages/flutter_tools/lib/src/ios/fallback_discovery.dart
index d17795f..f4c4956 100644
--- a/packages/flutter_tools/lib/src/ios/fallback_discovery.dart
+++ b/packages/flutter_tools/lib/src/ios/fallback_discovery.dart
@@ -46,14 +46,14 @@
     @required Usage flutterUsage,
     VmServiceConnector vmServiceConnectUri =
       vm_service_io.vmServiceConnectUri,
-    Duration pollingDelay = const Duration(seconds: 2),
+    Duration pollingDelay,
   }) : _logger = logger,
        _mDnsObservatoryDiscovery = mDnsObservatoryDiscovery,
        _portForwarder = portForwarder,
        _protocolDiscovery = protocolDiscovery,
        _flutterUsage = flutterUsage,
        _vmServiceConnectUri = vmServiceConnectUri,
-       _pollingDelay = pollingDelay;
+       _pollingDelay = pollingDelay ?? const Duration(seconds: 2);
 
   static const String _kEventName = 'ios-handshake';
 
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
index 71c859a..5ab6343 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart
@@ -129,6 +129,7 @@
       prebuiltApplication: true,
       debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug),
       platformArgs: <String, dynamic>{},
+      fallbackPollingDelay: Duration.zero,
     );
 
     verify(globals.flutterUsage.sendEvent('ios-handshake', 'mdns-success')).called(1);
@@ -173,6 +174,7 @@
       prebuiltApplication: true,
       debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug),
       platformArgs: <String, dynamic>{},
+      fallbackPollingDelay: Duration.zero,
     );
 
     expect(launchResult.started, true);
@@ -219,6 +221,7 @@
       prebuiltApplication: true,
       debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug),
       platformArgs: <String, dynamic>{},
+      fallbackPollingDelay: Duration.zero,
     );
 
     expect(launchResult.started, false);
@@ -257,6 +260,7 @@
       prebuiltApplication: true,
       debuggingOptions: DebuggingOptions.disabled(BuildInfo.release),
       platformArgs: <String, dynamic>{},
+      fallbackPollingDelay: Duration.zero,
     );
 
     expect(launchResult.started, true);
@@ -347,6 +351,7 @@
         verboseSystemLogs: true,
       ),
       platformArgs: <String, dynamic>{},
+      fallbackPollingDelay: Duration.zero,
     );
 
     expect(launchResult.started, true);