From 704893b16be5ab99913ee04c615d570ad5d57027 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 8 May 2018 10:21:09 +0200 Subject: [PATCH] misc/ios: retry iOS launch even if no device app path was found Now that the iOS exec wrapper uninstalls any existing test app before installing a new, looking up the device app path might fail. Before, the lookup always succeeded (even though the path reported might be stale). For the iOS builder. Change-Id: I5667b6fae15f88745bdee796db219a429a26e203 Reviewed-on: https://go-review.googlesource.com/112075 Run-TryBot: Elias Naur TryBot-Result: Gobot Gobot Reviewed-by: Hyang-Ah Hana Kim --- misc/ios/go_darwin_arm_exec.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/misc/ios/go_darwin_arm_exec.go b/misc/ios/go_darwin_arm_exec.go index 50e0342f679..11219ce5c79 100644 --- a/misc/ios/go_darwin_arm_exec.go +++ b/misc/ios/go_darwin_arm_exec.go @@ -469,12 +469,17 @@ func run(appdir, bundleID string, args []string) error { } attempt := 0 for { - // The device app path is constant for a given installed app, - // but the device might not return a stale device path for - // a newly overwritten app, so retry the lookup as well. + // The device app path reported by the device might be stale, so retry + // the lookup of the device path along with the lldb launching below. deviceapp, err := findDeviceAppPath(bundleID) if err != nil { - return err + // The device app path might not yet exist for a newly installed app. + if attempt == 5 { + return err + } + attempt++ + time.Sleep(5 * time.Second) + continue } lldb := exec.Command( "python",