From f8fbcefa6cdd9901d5d9183bf6ad3fed73f1b455 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 13 May 2015 15:12:59 -0700 Subject: [PATCH] math/rand: shorten Float32 test for GOARM=5 Fixes #10749 Change-Id: I9d5f6f179fd117b0c358d7c8042daf5985b645c0 Reviewed-on: https://go-review.googlesource.com/10022 Reviewed-by: Dave Cheney --- src/math/rand/rand_test.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/math/rand/rand_test.go b/src/math/rand/rand_test.go index ab0dc49b41..c61494f8eb 100644 --- a/src/math/rand/rand_test.go +++ b/src/math/rand/rand_test.go @@ -8,6 +8,8 @@ import ( "errors" "fmt" "math" + "os" + "runtime" "testing" ) @@ -322,10 +324,17 @@ func TestExpTables(t *testing.T) { } } -// For issue 6721, the problem came after 7533753 calls, so check 10e6. func TestFloat32(t *testing.T) { + // For issue 6721, the problem came after 7533753 calls, so check 10e6. + num := int(10e6) + // But ARM5 floating point emulation is slow (Issue 10749), so + // do less for that builder: + if testing.Short() && runtime.GOARCH == "arm" && os.Getenv("GOARM") == "5" { + num /= 100 // 1.72 seconds instead of 172 seconds + } + r := New(NewSource(1)) - for ct := 0; ct < 10e6; ct++ { + for ct := 0; ct < num; ct++ { f := r.Float32() if f >= 1 { t.Fatal("Float32() should be in range [0,1). ct:", ct, "f:", f)