瀏覽代碼

integration: fix a data race about `err`

don't share `err` between goroutines
Zeming YU 6 年之前
父節點
當前提交
181419256d
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      clientv3/integration/metrics_test.go

+ 3 - 2
clientv3/integration/metrics_test.go

@@ -41,12 +41,13 @@ func TestV3ClientMetrics(t *testing.T) {
 	var (
 	var (
 		addr = "localhost:27989"
 		addr = "localhost:27989"
 		ln   net.Listener
 		ln   net.Listener
-		err  error
 	)
 	)
 
 
 	// listen for all Prometheus metrics
 	// listen for all Prometheus metrics
 	donec := make(chan struct{})
 	donec := make(chan struct{})
 	go func() {
 	go func() {
+		var err error
+
 		defer close(donec)
 		defer close(donec)
 
 
 		srv := &http.Server{Handler: promhttp.Handler()}
 		srv := &http.Server{Handler: promhttp.Handler()}
@@ -87,7 +88,7 @@ func TestV3ClientMetrics(t *testing.T) {
 
 
 	pBefore := sumCountersForMetricAndLabels(t, url, "grpc_client_started_total", "Put", "unary")
 	pBefore := sumCountersForMetricAndLabels(t, url, "grpc_client_started_total", "Put", "unary")
 
 
-	_, err = cli.Put(context.Background(), "foo", "bar")
+	_, err := cli.Put(context.Background(), "foo", "bar")
 	if err != nil {
 	if err != nil {
 		t.Errorf("Error putting value in key store")
 		t.Errorf("Error putting value in key store")
 	}
 	}