fstests: factor out fstest.NewObject function

This commit is contained in:
Nick Craig-Wood
2024-02-26 13:44:55 +00:00
parent e8fe0b0553
commit 15579c2195
2 changed files with 51 additions and 51 deletions

View File

@@ -520,6 +520,24 @@ func Purge(f fs.Fs) {
}
}
// NewObject finds the object on the remote
func NewObject(ctx context.Context, t *testing.T, f fs.Fs, remote string) fs.Object {
var obj fs.Object
var err error
sleepTime := 1 * time.Second
for i := 1; i <= *ListRetries; i++ {
obj, err = f.NewObject(ctx, remote)
if err == nil {
break
}
t.Logf("Sleeping for %v for findObject eventual consistency: %d/%d (%v)", sleepTime, i, *ListRetries, err)
time.Sleep(sleepTime)
sleepTime = (sleepTime * 3) / 2
}
require.NoError(t, err)
return obj
}
// NewDirectory finds the directory with remote in f
//
// One day this will be an rclone primitive