Browse Source

Fix a race in pkg/integration.TestChannelBufferTimeout

Update #22965

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Akihiro Suda 9 years ago
parent
commit
d0d828e292
1 changed files with 3 additions and 3 deletions
  1. 3 3
      pkg/integration/utils_test.go

+ 3 - 3
pkg/integration/utils_test.go

@@ -510,9 +510,11 @@ func TestChannelBufferTimeout(t *testing.T) {
 	buf := &ChannelBuffer{make(chan []byte, 1)}
 	defer buf.Close()
 
+	done := make(chan struct{}, 1)
 	go func() {
 		time.Sleep(100 * time.Millisecond)
 		io.Copy(buf, strings.NewReader(expected))
+		done <- struct{}{}
 	}()
 
 	// Wait long enough
@@ -521,9 +523,7 @@ func TestChannelBufferTimeout(t *testing.T) {
 	if err == nil && err.Error() != "timeout reading from channel" {
 		t.Fatalf("Expected an error, got %s", err)
 	}
-
-	// Wait for the end :)
-	time.Sleep(150 * time.Millisecond)
+	<-done
 }
 
 func TestChannelBuffer(t *testing.T) {