From: Elias Naur Date: Tue, 7 Nov 2017 12:04:22 +0000 (+0100) Subject: misc/ios: dump logs for failing lldb sessions to stdout X-Git-Tag: go1.10beta1~42 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=03c93eaa0ba19a57ae348ea3f3ff91a1be2ef7fb;p=gostls13.git 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 --- 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 }