mirror of
https://github.com/golang/go
synced 2024-11-26 08:38:01 -07:00
misc/ios: always kill lldb process when it hangs
The lldb child process is killed if a test runs too long. Also kill it when the setup times out (and is retried). Might help with builder flakes where all 5 attempts to start up lldb fail even though the tests before and after the timeouts succeed. For example: ... ok vendor/golang_org/x/net/route 37.797s lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) go_darwin_arm_exec: failed to start test harness (retry attempted) FAIL vendor/golang_org/x/text/transform 115.185s ok vendor/golang_org/x/text/unicode/norm 122.773s ... Change-Id: I6638860522896491dccfa12f1e520c0f23df6d66 Reviewed-on: https://go-review.googlesource.com/67791 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
6b4008db8b
commit
eb5bf55496
@ -385,6 +385,9 @@ func (s *lldbSession) wait(reason string, cond func(out *buf) bool, extraTimeout
|
|||||||
}
|
}
|
||||||
return fmt.Errorf("test timeout (%s)", reason)
|
return fmt.Errorf("test timeout (%s)", reason)
|
||||||
case <-doTimedout:
|
case <-doTimedout:
|
||||||
|
if p := s.cmd.Process; p != nil {
|
||||||
|
p.Kill()
|
||||||
|
}
|
||||||
return fmt.Errorf("command timeout (%s for %v)", reason, doTimeout)
|
return fmt.Errorf("command timeout (%s for %v)", reason, doTimeout)
|
||||||
case err := <-s.exited:
|
case err := <-s.exited:
|
||||||
return fmt.Errorf("exited (%s: %v)", reason, err)
|
return fmt.Errorf("exited (%s: %v)", reason, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user