]> Cypherpunks.ru repositories - gostls13.git/commitdiff
test: adjust a test to work with js/wasm's background goroutine
authorBrad Fitzpatrick <bradfitz@golang.org>
Thu, 10 Oct 2019 19:23:03 +0000 (19:23 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 10 Oct 2019 19:38:06 +0000 (19:38 +0000)
Fixes #34768

Change-Id: Ic73591f620cdee5bc7203483902e6ba98d2c442b
Reviewed-on: https://go-review.googlesource.com/c/go/+/200438
Reviewed-by: Bryan C. Mills <bcmills@google.com>
test/goprint.go

index 57eeac53a803669c6b671e0c264f3a49e6b4969f..d44b259081e6801fe4d40b88697e5e5b94d6aa15 100644 (file)
@@ -9,13 +9,24 @@
 package main
 
 import (
+       "log"
        "runtime"
        "time"
 )
 
 func main() {
+       numg0 := runtime.NumGoroutine()
+       deadline := time.Now().Add(10 * time.Second)
        go println(42, true, false, true, 1.5, "world", (chan int)(nil), []int(nil), (map[string]int)(nil), (func())(nil), byte(255))
-       for runtime.NumGoroutine() > 1 {
-               time.Sleep(10*time.Millisecond)
+       for {
+               numg := runtime.NumGoroutine()
+               if numg > numg0 {
+                       if time.Now().After(deadline) {
+                               log.Fatalf("%d goroutines > initial %d after deadline", numg, numg0)
+                       }
+                       runtime.Gosched()
+                       continue
+               }
+               break
        }
 }