package e2e

import (
	"testing"
	"time"

	"github.com/avast/retry-go/v4"
)

func retryDo(t *testing.T, name string, fun func() error, attempts uint, delay time.Duration) error {
	opt := []retry.Option{
		retry.DelayType(retry.FixedDelay),
		retry.Attempts(attempts),
		retry.Delay(delay),
		retry.LastErrorOnly(true),
		retry.OnRetry(func(n uint, err error) {
			t.Log(name, "attempt", n, "error", err)
		}),
	}
	return retry.Do(fun, opt...)
}
