Browse Source

tests: only check for go1.5+ once

Jonathan Boulle 10 years ago
parent
commit
b126ff77fb
1 changed files with 10 additions and 4 deletions
  1. 10 4
      integration/main_test.go

+ 10 - 4
integration/main_test.go

@@ -15,6 +15,15 @@ import (
 	"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) {
 	buf := make([]byte, 2<<20)
 	buf = buf[:runtime.Stack(buf, true)]
@@ -90,10 +99,7 @@ func afterTest(t *testing.T) {
 
 	// readLoop was buggy before go1.5:
 	// https://github.com/golang/go/issues/10457
-	var major, minor int
-	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) {
+	if atLeastGo15 {
 		badSubstring[").readLoop("] = "a Transport"
 	}