]> Cypherpunks repositories - gostls13.git/commitdiff
strconv: fix initialization of atofRandomTests
authorRuss Cox <rsc@golang.org>
Mon, 17 Jul 2017 15:12:20 +0000 (11:12 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 17 Jul 2017 15:46:53 +0000 (15:46 +0000)
The init func was using testing.Short, but that's not available
until after flag parsing. Found by CL 49251.

Change-Id: Ia7b871043375260873fa2c7e81e1d43c1c83d33f
Reviewed-on: https://go-review.googlesource.com/49253
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/strconv/atof_test.go

index 0a89c3e0bfa1a0ccc2ffd7298a774568aade8600..f6c64789cbb5ca75101a4d026b44de0d018c6cc4 100644 (file)
@@ -10,6 +10,7 @@ import (
        "reflect"
        . "strconv"
        "strings"
+       "sync"
        "testing"
        "time"
 )
@@ -213,12 +214,17 @@ type atofSimpleTest struct {
 }
 
 var (
+       atofOnce               sync.Once
        atofRandomTests        []atofSimpleTest
        benchmarksRandomBits   [1024]string
        benchmarksRandomNormal [1024]string
 )
 
-func init() {
+func initAtof() {
+       atofOnce.Do(initAtof1)
+}
+
+func initAtof1() {
        // The atof routines return NumErrors wrapping
        // the error and the string. Convert the table above.
        for i := range atoftests {
@@ -261,6 +267,7 @@ func init() {
 }
 
 func testAtof(t *testing.T, opt bool) {
+       initAtof()
        oldopt := SetOptimize(opt)
        for i := 0; i < len(atoftests); i++ {
                test := &atoftests[i]
@@ -306,6 +313,7 @@ func TestAtof(t *testing.T) { testAtof(t, true) }
 func TestAtofSlow(t *testing.T) { testAtof(t, false) }
 
 func TestAtofRandom(t *testing.T) {
+       initAtof()
        for _, test := range atofRandomTests {
                x, _ := ParseFloat(test.s, 64)
                switch {