]> Cypherpunks repositories - gostls13.git/commitdiff
math/rand: make floating point tests shorter on mips and mipsle
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 16 Nov 2016 19:08:25 +0000 (19:08 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 16 Nov 2016 19:22:53 +0000 (19:22 +0000)
Like GOARM=5 does.

Fixes #17944

Change-Id: Ica2a54a90fbd4a29471d1c6009ace2fcc5e82a73
Reviewed-on: https://go-review.googlesource.com/33326
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/math/rand/rand_test.go

index 6f312792d0b67557f61e0ef3e6a695d4566450b5..bf509e06bec4a8fe1bb61885a6aa86622bf28217 100644 (file)
@@ -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
        }