]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: make stack growth test shorter
authorRuss Cox <rsc@golang.org>
Fri, 11 Apr 2014 04:08:07 +0000 (00:08 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 11 Apr 2014 04:08:07 +0000 (00:08 -0400)
It runs too long in -short mode.

Disable the one in init, because it doesn't respect -short.

Make the part that claims to test execution in a finalizer
actually execute the test in the finalizer.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=aram.h, golang-codereviews, iant, khr
https://golang.org/cl/86550045

src/pkg/runtime/stack_test.go

index 8add63ad35526af673bb2f7a82e2ae854f94bb7a..9a697043684a0c99b622954ca78308ec17f2f637 100644 (file)
@@ -132,6 +132,7 @@ func TestStackGrowth(t *testing.T) {
                defer wg.Done()
                growStack()
        }()
+       wg.Wait()
 
        // in locked goroutine
        wg.Add(1)
@@ -141,6 +142,7 @@ func TestStackGrowth(t *testing.T) {
                growStack()
                UnlockOSThread()
        }()
+       wg.Wait()
 
        // in finalizer
        wg.Add(1)
@@ -150,6 +152,7 @@ func TestStackGrowth(t *testing.T) {
                go func() {
                        s := new(string)
                        SetFinalizer(s, func(ss *string) {
+                               growStack()
                                done <- true
                        })
                        s = nil
@@ -163,17 +166,20 @@ func TestStackGrowth(t *testing.T) {
                        t.Fatal("finalizer did not run")
                }
        }()
-
        wg.Wait()
 }
 
 // ... and in init
-func init() {
-       growStack()
-}
+//func init() {
+//     growStack()
+//}
 
 func growStack() {
-       for i := 0; i < 1<<10; i++ {
+       n := 1 << 10
+       if testing.Short() {
+               n = 1 << 8
+       }
+       for i := 0; i < n; i++ {
                x := 0
                growStackIter(&x, i)
                if x != i+1 {