converge/pkg/support/throttling/cloek_test.go

30 lines
474 B
Go

package throttling
import (
"os"
"testing"
"time"
)
type testClock struct {
now time.Time
}
func (t *testClock) time() time.Time {
return t.now
}
// Set this value to obtain a new value for the current time.
// This allows testing various scenario's with timing.
//
// Simply: currentTime.now = ....
var currentTime = &testClock{}
func TestMain(m *testing.M) {
oldclock := clock
clock = currentTime
exitCode := m.Run()
clock = oldclock
os.Exit(exitCode)
}