From c4479c5b7428ee519e6b7501ef7ab99286295ffd Mon Sep 17 00:00:00 2001 From: Isaac Hollander McCreery Date: Thu, 21 Apr 2016 11:56:34 -0700 Subject: [PATCH] gofmt and add comment about waitForReadyOrDone --- test/e2e/chaosmonkey/chaosmonkey.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/e2e/chaosmonkey/chaosmonkey.go b/test/e2e/chaosmonkey/chaosmonkey.go index fc7ab287ab..660c49e898 100644 --- a/test/e2e/chaosmonkey/chaosmonkey.go +++ b/test/e2e/chaosmonkey/chaosmonkey.go @@ -91,6 +91,9 @@ func (cm *chaosmonkey) Do() { By("Waiting for all async tests to be ready") for _, sem := range sems { + // Wait for test to be ready. We have to wait for ready *or done* because a test + // may panic before signaling that its ready, and we shouldn't block. Since we + // defered sem.done() above, if a test panics, it's marked as done. sem.waitForReadyOrDone() } @@ -115,7 +118,7 @@ type Semaphore struct { func newSemaphore(stopCh <-chan struct{}) *Semaphore { // We don't want to block on Ready() or done() - return &Semaphore { + return &Semaphore{ make(chan struct{}, 1), stopCh, make(chan struct{}, 1),