operations: fix TestMkdirModTime test

This was failing on backends that didn't support metadata but did
support setting directory modtimes.
This commit is contained in:
Nick Craig-Wood 2024-03-01 11:18:24 +00:00
parent be39e99918
commit 3bb9394ae5
2 changed files with 8 additions and 4 deletions

View file

@ -1015,11 +1015,12 @@ func MkdirMetadata(ctx context.Context, f fs.Fs, dir string, metadata fs.Metadat
// MkdirModTime makes a destination directory or container with modtime
//
// If the destination Fs doesn't support this it will fall back to
// Mkdir and in this case newDst will be nil.
// It will try to make the directory with MkdirMetadata and if that
// succeeds it will return a non-nil newDst. In all other cases newDst
// will be nil.
//
// If the directory was created with MkDir then it will attempt to use
// Fs.DirSetModTime if available.
// Fs.DirSetModTime to update the directory modtime if available.
func MkdirModTime(ctx context.Context, f fs.Fs, dir string, modTime time.Time) (newDst fs.Directory, err error) {
logName := fs.LogDirName(f, dir)
if SkipDestructive(ctx, logName, "make directory") {

View file

@ -1680,7 +1680,10 @@ func TestMkdirModTime(t *testing.T) {
require.NoError(t, err)
// Check the returned directory and one read from the listing
fstest.CheckDirModTime(ctx, t, r.Fremote, newDst, t2)
// newDst may be nil here depending on how the modtime was set
if newDst != nil {
fstest.CheckDirModTime(ctx, t, r.Fremote, newDst, t2)
}
fstest.CheckDirModTime(ctx, t, r.Fremote, fstest.NewDirectory(ctx, t, r.Fremote, name), t2)
}