From 03c93eaa0ba19a57ae348ea3f3ff91a1be2ef7fb Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 7 Nov 2017 13:04:22 +0100 Subject: [PATCH] misc/ios: dump logs for failing lldb sessions to stdout The iOS test harness dumps the output of its lldb session to stdout, but only if the lldb session was successfully started. Make sure the log is always dumpede, so that lldb startup failures such as lldb setup error: exited (lldb start: exit status 253) can be diagnosed. For the iOS builders. Change-Id: Ie0e3341dd8f84a88d26509c34816668d3ebbfaa0 Reviewed-on: https://go-review.googlesource.com/76195 Run-TryBot: Elias Naur TryBot-Result: Gobot Gobot Reviewed-by: Hyang-Ah Hana Kim --- misc/ios/go_darwin_arm_exec.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/misc/ios/go_darwin_arm_exec.go b/misc/ios/go_darwin_arm_exec.go index f1807ae1e0..56dbb009a1 100644 --- a/misc/ios/go_darwin_arm_exec.go +++ b/misc/ios/go_darwin_arm_exec.go @@ -232,6 +232,16 @@ func run(bin string, args []string) (err error) { os.Stdout.Write(b) }() + cond := func(out *buf) bool { + i0 := s.out.LastIndex([]byte("(lldb)")) + i1 := s.out.LastIndex([]byte("fruitstrap")) + i2 := s.out.LastIndex([]byte(" connect")) + return i0 > 0 && i1 > 0 && i2 > 0 + } + if err := s.wait("lldb start", cond, 15*time.Second); err != nil { + panic(waitPanic{err}) + } + // Script LLDB. Oh dear. s.do(`process handle SIGHUP --stop false --pass true --notify false`) s.do(`process handle SIGPIPE --stop false --pass true --notify false`) @@ -348,15 +358,6 @@ func newSession(appdir string, args []string, opts options) (*lldbSession, error s.exited <- s.cmd.Wait() }() - cond := func(out *buf) bool { - i0 := s.out.LastIndex([]byte("(lldb)")) - i1 := s.out.LastIndex([]byte("fruitstrap")) - i2 := s.out.LastIndex([]byte(" connect")) - return i0 > 0 && i1 > 0 && i2 > 0 - } - if err := s.wait("lldb start", cond, 15*time.Second); err != nil { - panic(waitPanic{err}) - } return s, nil } -- 2.50.0