28 lines
434 B
Go
28 lines
434 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.
|
|
var currentTime = &testClock{}
|
|
|
|
func TestMain(m *testing.M) {
|
|
oldclock := clock
|
|
clock = currentTime
|
|
exitCode := m.Run()
|
|
clock = oldclock
|
|
os.Exit(exitCode)
|
|
}
|