]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: get more info for TestCgoSignalDeadlock failures
authorIan Lance Taylor <iant@golang.org>
Mon, 26 Jun 2017 23:11:33 +0000 (16:11 -0700)
committerIan Lance Taylor <iant@golang.org>
Tue, 27 Jun 2017 00:34:53 +0000 (00:34 +0000)
Updates #18598

Change-Id: I13c60124714cf9d1537efa0a7dd1e6a0fed9ae5b
Reviewed-on: https://go-review.googlesource.com/46723
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/runtime/testdata/testprogcgo/cgo.go

index 870d4efdeada320878393207b8187aa48c834950..209524a24dbb95733c62420edd344ed51fa031b9 100644 (file)
@@ -45,10 +45,13 @@ func CgoSignalDeadlock() {
                                }()
                                var s *string
                                *s = ""
+                               fmt.Printf("continued after expected panic\n")
                        }()
                }
        }()
        time.Sleep(time.Millisecond)
+       start := time.Now()
+       var times []time.Duration
        for i := 0; i < 64; i++ {
                go func() {
                        runtime.LockOSThread()
@@ -62,8 +65,9 @@ func CgoSignalDeadlock() {
                ping <- false
                select {
                case <-ping:
+                       times = append(times, time.Since(start))
                case <-time.After(time.Second):
-                       fmt.Printf("HANG\n")
+                       fmt.Printf("HANG 1 %v\n", times)
                        return
                }
        }
@@ -71,7 +75,7 @@ func CgoSignalDeadlock() {
        select {
        case <-ping:
        case <-time.After(time.Second):
-               fmt.Printf("HANG\n")
+               fmt.Printf("HANG 2 %v\n", times)
                return
        }
        fmt.Printf("OK\n")