MCPcopy
hub / github.com/rclone/rclone / canSetModTime

Function canSetModTime

vfs/write_test.go:294–314  ·  view source on GitHub ↗

returns whether the remote can set modtime

(t *testing.T, r *fstest.Run)

Source from the content-addressed store, hash-verified

292
293// returns whether the remote can set modtime
294func canSetModTime(t *testing.T, r *fstest.Run) bool {
295 canSetModTimeOnce.Do(func() {
296 mtime1 := time.Date(2008, time.November, 18, 17, 32, 31, 0, time.UTC)
297 _ = r.WriteObject(context.Background(), "time_test", "stuff", mtime1)
298 obj, err := r.Fremote.NewObject(context.Background(), "time_test")
299 require.NoError(t, err)
300 mtime2 := time.Date(2009, time.November, 18, 17, 32, 31, 0, time.UTC)
301 err = obj.SetModTime(context.Background(), mtime2)
302 switch err {
303 case nil:
304 canSetModTimeValue = true
305 case fs.ErrorCantSetModTime, fs.ErrorCantSetModTimeWithoutDelete:
306 canSetModTimeValue = false
307 default:
308 require.NoError(t, err)
309 }
310 require.NoError(t, obj.Remove(context.Background()))
311 fs.Debugf(nil, "Can set mod time: %v", canSetModTimeValue)
312 })
313 return canSetModTimeValue
314}
315
316// tests mod time on open files
317func TestWriteFileModTimeWithOpenWriters(t *testing.T) {

Callers 3

testFileSetModTimeFunction · 0.85

Calls 6

SetModTimeMethod · 0.95
RemoveMethod · 0.95
DebugfFunction · 0.92
WriteObjectMethod · 0.80
DoMethod · 0.65
NewObjectMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…