tests: only check for go1.5+ once
This commit is contained in:
@ -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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user