From d3f56086aa62cd8ccc3bacf29fc0066489ca04eb Mon Sep 17 00:00:00 2001 From: Gaurav Singh Date: Mon, 4 May 2020 21:52:06 -0400 Subject: [PATCH] duplicate iteration variable in go func Kubernetes-commit: c6ac8ea5f7b4e4a6f4d4895122ab1b613840b199 --- rest/watch/decoder_test.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rest/watch/decoder_test.go b/rest/watch/decoder_test.go index 493434ec..c014f065 100644 --- a/rest/watch/decoder_test.go +++ b/rest/watch/decoder_test.go @@ -50,28 +50,29 @@ func TestDecoder(t *testing.T) { decoder := restclientwatch.NewDecoder(streaming.NewDecoder(out, getDecoder()), getDecoder()) expect := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}} encoder := json.NewEncoder(in) - go func(eventType interface{}) { + eType := eventType + go func() { data, err := runtime.Encode(scheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), expect) if err != nil { t.Fatalf("Unexpected error %v", err) } event := metav1.WatchEvent{ - Type: string(eventType), + Type: string(eType), Object: runtime.RawExtension{Raw: json.RawMessage(data)}, } if err := encoder.Encode(&event); err != nil { t.Errorf("Unexpected error %v", err) } in.Close() - }(eventType) + }() done := make(chan struct{}) - go func(eventType interface{}) { + go func() { action, got, err := decoder.Decode() if err != nil { t.Fatalf("Unexpected error %v", err) } - if e, a := eventType, action; e != a { + if e, a := eType, action; e != a { t.Errorf("Expected %v, got %v", e, a) } if e, a := expect, got; !apiequality.Semantic.DeepDerivative(e, a) { @@ -79,7 +80,7 @@ func TestDecoder(t *testing.T) { } t.Logf("Exited read") close(done) - }(eventType) + }() <-done done = make(chan struct{})