From c250e7be9e1f41d72bc4339e481f176c42a93504 Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Tue, 30 May 2017 12:23:12 -0700 Subject: [PATCH] clientv3: do not launch cluster on go test without explicit -run There's a workaround by running -run=Test but this periodically comes up as an issue, so have `go test` only run Test* to stem the complaints. Fixes #8000 --- clientv3/main_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/clientv3/main_test.go b/clientv3/main_test.go index eb5a7135b..6df3f6334 100644 --- a/clientv3/main_test.go +++ b/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 {