From d8b14c524303f8d28bc5b496e918cfbb2758cbc5 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 16 Nov 2016 19:08:25 +0000 Subject: [PATCH] math/rand: make floating point tests shorter on mips and mipsle Like GOARM=5 does. Fixes #17944 Change-Id: Ica2a54a90fbd4a29471d1c6009ace2fcc5e82a73 Reviewed-on: https://go-review.googlesource.com/33326 Reviewed-by: Cherry Zhang --- src/math/rand/rand_test.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/math/rand/rand_test.go b/src/math/rand/rand_test.go index 6f312792d0..bf509e06be 100644 --- a/src/math/rand/rand_test.go +++ b/src/math/rand/rand_test.go @@ -328,13 +328,26 @@ func TestExpTables(t *testing.T) { } } +func hasSlowFloatingPoint() bool { + switch runtime.GOARCH { + case "arm": + return os.Getenv("GOARM") == "5" + case "mips", "mipsle", "mips64", "mips64le": + // Be conservative and assume that all mips boards + // have emulated floating point. + // TODO: detect what it actually has. + return true + } + return false +} + func TestFloat32(t *testing.T) { // For issue 6721, the problem came after 7533753 calls, so check 10e6. num := int(10e6) // But do the full amount only on builders (not locally). // But ARM5 floating point emulation is slow (Issue 10749), so // do less for that builder: - if testing.Short() && (testenv.Builder() == "" || runtime.GOARCH == "arm" && os.Getenv("GOARM") == "5") { + if testing.Short() && (testenv.Builder() == "" || hasSlowFloatingPoint()) { num /= 100 // 1.72 seconds instead of 172 seconds } -- 2.48.1