Skip to content

Commit

Permalink
Merge pull request #1412 from stretchr/fix-flaky-TestEventuallyIssue805
Browse files Browse the repository at this point in the history
assert: fix TestEventuallyTimeout
  • Loading branch information
MovieStoreGuy committed Jan 26, 2024
2 parents 648a793 + 0feb1d9 commit 9b9a3b4
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions assert/assertions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2869,12 +2869,26 @@ func TestNeverTrue(t *testing.T) {
False(t, Never(mockT, condition, 100*time.Millisecond, 20*time.Millisecond))
}

func TestEventuallyIssue805(t *testing.T) {
// Check that a long running condition doesn't block Eventually.
// See issue 805 (and its long tail of following issues)
func TestEventuallyTimeout(t *testing.T) {
mockT := new(testing.T)

NotPanics(t, func() {
condition := func() bool { <-time.After(time.Millisecond); return true }
done, done2 := make(chan struct{}), make(chan struct{})

// A condition function that returns after the Eventually timeout
condition := func() bool {
// Wait until Eventually times out and terminates
<-done
close(done2)
return true
}

False(t, Eventually(mockT, condition, time.Millisecond, time.Microsecond))

close(done)
<-done2
})
}

Expand Down

0 comments on commit 9b9a3b4

Please sign in to comment.