forked from TrueCloudLab/restic
test/s3: Retry connection to Minio server
This commit is contained in:
parent
eb7fc12e01
commit
bbca31b661
1 changed files with 16 additions and 1 deletions
|
@ -103,6 +103,21 @@ type MinioTestConfig struct {
|
||||||
stopServer func()
|
stopServer func()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func openS3(t testing.TB, cfg MinioTestConfig) (be restic.Backend, err error) {
|
||||||
|
for i := 0; i < 10; i++ {
|
||||||
|
be, err = s3.Open(cfg.Config)
|
||||||
|
if err != nil {
|
||||||
|
t.Logf("s3 open: try %d: error %v", i, err)
|
||||||
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return be, err
|
||||||
|
}
|
||||||
|
|
||||||
func newMinioTestSuite(ctx context.Context, t testing.TB) *test.Suite {
|
func newMinioTestSuite(ctx context.Context, t testing.TB) *test.Suite {
|
||||||
return &test.Suite{
|
return &test.Suite{
|
||||||
// NewConfig returns a config for a new temporary backend that will be used in tests.
|
// NewConfig returns a config for a new temporary backend that will be used in tests.
|
||||||
|
@ -127,7 +142,7 @@ func newMinioTestSuite(ctx context.Context, t testing.TB) *test.Suite {
|
||||||
Create: func(config interface{}) (restic.Backend, error) {
|
Create: func(config interface{}) (restic.Backend, error) {
|
||||||
cfg := config.(MinioTestConfig)
|
cfg := config.(MinioTestConfig)
|
||||||
|
|
||||||
be, err := s3.Open(cfg.Config)
|
be, err := openS3(t, cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue