Commit d8b14c52 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

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/33326Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
parent 68fda188
...@@ -328,13 +328,26 @@ func TestExpTables(t *testing.T) { ...@@ -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) { func TestFloat32(t *testing.T) {
// For issue 6721, the problem came after 7533753 calls, so check 10e6. // For issue 6721, the problem came after 7533753 calls, so check 10e6.
num := int(10e6) num := int(10e6)
// But do the full amount only on builders (not locally). // But do the full amount only on builders (not locally).
// But ARM5 floating point emulation is slow (Issue 10749), so // But ARM5 floating point emulation is slow (Issue 10749), so
// do less for that builder: // 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 num /= 100 // 1.72 seconds instead of 172 seconds
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment