]> Cypherpunks repositories - gostls13.git/commitdiff
misc/ios: dump logs for failing lldb sessions to stdout
authorElias Naur <elias.naur@gmail.com>
Tue, 7 Nov 2017 12:04:22 +0000 (13:04 +0100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 4 Dec 2017 17:48:58 +0000 (17:48 +0000)
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 <elias.naur@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
misc/ios/go_darwin_arm_exec.go

index f1807ae1e02bb904b88b81e8896cb2b6470d2c1a..56dbb009a185085e0cf28559e537df81a97d7420 100644 (file)
@@ -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
 }