From 5ac16c6c76fc76f04844c92a6c54aeb97093e053 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 17 Jul 2017 11:12:20 -0400 Subject: strconv: fix initialization of atofRandomTests 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 Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/strconv/atof_test.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/strconv/atof_test.go b/src/strconv/atof_test.go index 0a89c3e0bf..f6c64789cb 100644 --- a/src/strconv/atof_test.go +++ b/src/strconv/atof_test.go @@ -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 { -- cgit v1.2.3-54-g00ecf