mirror of
https://github.com/status-im/status-go.git
synced 2026-08-31 00:51:12 +00:00
* refactor: delete unused files * refactor: move emojis.txt to protocol/identity/emojihash * chore: remove t/utils and unused t/config * refactor: pks/testutils/fake * refactor: remove unused t/helpers/peers.go * refactor: move testutils to internal * refactor: split testutils/fake * refactor: moved t/helpers to internal/testutils * fix: fake community
26 lines
551 B
Go
26 lines
551 B
Go
package testutils
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/cenkalti/backoff/v3"
|
|
)
|
|
|
|
type BackOffOption func(*backoff.ExponentialBackOff)
|
|
|
|
func RetryWithBackOff(o func() error, options ...BackOffOption) error {
|
|
b := backoff.ExponentialBackOff{
|
|
InitialInterval: time.Millisecond * 100,
|
|
RandomizationFactor: 0.1,
|
|
Multiplier: 1,
|
|
MaxInterval: time.Second,
|
|
MaxElapsedTime: time.Second * 10,
|
|
Clock: backoff.SystemClock,
|
|
}
|
|
for _, option := range options {
|
|
option(&b)
|
|
}
|
|
b.Reset()
|
|
return backoff.Retry(o, &b)
|
|
}
|