]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/goprint.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / goprint.go
index c0e34c750e39971d41c30504b93b0493e2e594c1..d44b259081e6801fe4d40b88697e5e5b94d6aa15 100644 (file)
@@ -1,14 +1,32 @@
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// run
 
-// Copyright 2011 The Go Authors.  All rights reserved.
+// Copyright 2011 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// Test that println can be the target of a go statement.
+
 package main
 
-import "time"
+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))
-       time.Sleep(1e6)
+       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
+       }
 }