1234567891011121314151617181920212223 |
- package testutils
- import (
- "testing"
- "time"
- )
- // Timeout calls f and waits for 100ms for it to complete.
- // If it doesn't, it causes the tests to fail.
- // t must be a valid testing context.
- func Timeout(t *testing.T, f func()) {
- onTimeout := time.After(100 * time.Millisecond)
- onDone := make(chan bool)
- go func() {
- f()
- close(onDone)
- }()
- select {
- case <-onTimeout:
- t.Fatalf("timeout")
- case <-onDone:
- }
- }
|