2021-08-06 07:06:56 -05:00
|
|
|
package schedule
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
2021-10-26 12:22:07 -05:00
|
|
|
// waitForTimeChannel blocks the execution until either the channel ch has some data or a timeout of 10 second expires.
|
|
|
|
// Timeout will cause the test to fail.
|
|
|
|
// Returns the data from the channel.
|
|
|
|
func waitForTimeChannel(t *testing.T, ch chan time.Time) time.Time {
|
|
|
|
select {
|
|
|
|
case result := <-ch:
|
|
|
|
return result
|
|
|
|
case <-time.After(time.Duration(10) * time.Second):
|
|
|
|
t.Fatalf("Timeout waiting for data in the time channel")
|
|
|
|
return time.Time{}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// waitForErrChannel blocks the execution until either the channel ch has some data or a timeout of 10 second expires.
|
|
|
|
// Timeout will cause the test to fail.
|
|
|
|
// Returns the data from the channel.
|
|
|
|
func waitForErrChannel(t *testing.T, ch chan error) error {
|
|
|
|
timeout := time.Duration(10) * time.Second
|
|
|
|
select {
|
|
|
|
case result := <-ch:
|
|
|
|
return result
|
|
|
|
case <-time.After(timeout):
|
|
|
|
t.Fatal("Timeout waiting for data in the error channel")
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
}
|