clockwork – github.com/jonboulle/clockwork Index | Files

package clockwork

import "github.com/jonboulle/clockwork"

Index

Types

type Clock

type Clock interface {
	After(d time.Duration) <-chan time.Time
	Sleep(d time.Duration)
	Now() time.Time
}

Clock provides an interface that packages can use instead of directly using the time module, so that chronology-related behavior can be tested

func NewRealClock

func NewRealClock() Clock

NewRealClock returns a Clock which simply delegates calls to the actual time package; it should be used by packages in production.

type FakeClock

type FakeClock interface {
	Clock
	// Advance advances the FakeClock to a new point in time, ensuring any existing
	// sleepers are notified appropriately before returning
	Advance(d time.Duration)
	// BlockUntil will block until the FakeClock has the given number of
	// sleepers (callers of Sleep or After)
	BlockUntil(n int)
}

FakeClock provides an interface for a clock which can be manually advanced through time

func NewFakeClock

func NewFakeClock() FakeClock

NewFakeClock returns a FakeClock implementation which can be manually advanced through time for testing. The initial time of the FakeClock will be an arbitrary non-zero time.

func NewFakeClockAt

func NewFakeClockAt(t time.Time) FakeClock

NewFakeClockAt returns a FakeClock initialised at the given time.Time.

Source Files

clockwork.go

Version
v0.1.0
Published
Jun 15, 2016
Platform
darwin/amd64
Imports
2 packages
Last checked
now

Tools for package owners.