Browse Source

Merge pull request #8006 from heyitsanthony/clientv3-test-nocluster

clientv3: do not launch cluster on go test without explicit -run
Anthony Romano 8 years ago
parent
commit
3748e3cf28
1 changed files with 7 additions and 1 deletions
  1. 7 1
      clientv3/main_test.go

+ 7 - 1
clientv3/main_test.go

@@ -32,15 +32,21 @@ func init() { auth.BcryptCost = bcrypt.MinCost }
 
 // TestMain sets up an etcd cluster if running the examples.
 func TestMain(m *testing.M) {
-	useCluster := true // default to running all tests
+	useCluster, hasRunArg := false, false // default to running only Test*
 	for _, arg := range os.Args {
 		if strings.HasPrefix(arg, "-test.run=") {
 			exp := strings.Split(arg, "=")[1]
 			match, err := regexp.MatchString(exp, "Example")
 			useCluster = (err == nil && match) || strings.Contains(exp, "Example")
+			hasRunArg = true
 			break
 		}
 	}
+	if !hasRunArg {
+		// force only running Test* if no args given to avoid leak false
+		// positives from having a long-running cluster for the examples.
+		os.Args = append(os.Args, "-test.run=Test")
+	}
 
 	v := 0
 	if useCluster {