Documentation
¶
Overview ¶
Package retry provides support for repeating operations in tests.
A sample retry operation looks like this:
func TestX(t *testing.T) {
retry.Run(t, func(r *retry.R) {
if err := foo(); err != nil {
r.Fatal("f: ", err)
}
})
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Counter ¶
Counter repeats an operation a given number of times and waits between subsequent operations.
func ThreeTimes ¶
func ThreeTimes() *Counter
ThreeTimes repeats an operation three times and waits 25ms in between.
type Failer ¶
type Failer interface {
// Log is called for the final test output
Log(args ...interface{})
// FailNow is called when the retrying is abandoned.
FailNow()
}
Failer is an interface compatible with testing.T.
type R ¶
type R struct {
// contains filtered or unexported fields
}
R provides context for the retryer.
type Retryer ¶
type Retryer interface {
// NextOr returns true if the operation should be repeated.
// Otherwise, it calls fail and returns false.
NextOr(fail func()) bool
}
Retryer provides an interface for repeating operations until they succeed or an exit condition is met.
type Timer ¶
type Timer struct {
Timeout time.Duration
Wait time.Duration
// contains filtered or unexported fields
}
Timer repeats an operation for a given amount of time and waits between subsequent operations.
func TwoSeconds ¶
func TwoSeconds() *Timer
TwoSeconds repeats an operation for two seconds and waits 25ms in between.
Click to show internal directories.
Click to hide internal directories.