tests: only check for go1.5+ once

This commit is contained in:
Jonathan Boulle
2015-12-19 23:08:16 +01:00
parent d50fbe384a
commit b126ff77fb

View File

@ -15,6 +15,15 @@ import (
"time" "time"
) )
var atLeastGo15 bool = false
func init() {
var major, minor int
var discard string
i, err := fmt.Sscanf(runtime.Version(), "go%d.%d%s", &major, &minor, &discard)
atLeastGo15 = (err == nil && i == 3 && (major > 1 || major == 1 && minor >= 5))
}
func interestingGoroutines() (gs []string) { func interestingGoroutines() (gs []string) {
buf := make([]byte, 2<<20) buf := make([]byte, 2<<20)
buf = buf[:runtime.Stack(buf, true)] buf = buf[:runtime.Stack(buf, true)]
@ -90,10 +99,7 @@ func afterTest(t *testing.T) {
// readLoop was buggy before go1.5: // readLoop was buggy before go1.5:
// https://github.com/golang/go/issues/10457 // https://github.com/golang/go/issues/10457
var major, minor int if atLeastGo15 {
var discard string
i, err := fmt.Sscanf(runtime.Version(), "go%d.%d%s", &major, &minor, &discard)
if err == nil && i == 3 && (major > 1 || major == 1 && minor >= 5) {
badSubstring[").readLoop("] = "a Transport" badSubstring[").readLoop("] = "a Transport"
} }