tests mod time on open files
(t *testing.T)
| 650 | |
| 651 | // tests mod time on open files |
| 652 | func TestRWFileModTimeWithOpenWriters(t *testing.T) { |
| 653 | r, vfs, fh := rwHandleCreateWriteOnly(t) |
| 654 | if !canSetModTime(t, r) { |
| 655 | t.Skip("can't set mod time") |
| 656 | } |
| 657 | |
| 658 | mtime := time.Date(2012, time.November, 18, 17, 32, 31, 0, time.UTC) |
| 659 | |
| 660 | _, err := fh.Write([]byte{104, 105}) |
| 661 | require.NoError(t, err) |
| 662 | |
| 663 | err = fh.Node().SetModTime(mtime) |
| 664 | require.NoError(t, err) |
| 665 | |
| 666 | // Using Flush/Release to mimic mount instead of Close |
| 667 | |
| 668 | err = fh.Flush() |
| 669 | require.NoError(t, err) |
| 670 | |
| 671 | err = fh.Release() |
| 672 | require.NoError(t, err) |
| 673 | |
| 674 | info, err := vfs.Stat("file1") |
| 675 | require.NoError(t, err) |
| 676 | |
| 677 | if r.Fremote.Precision() != fs.ModTimeNotSupported { |
| 678 | // avoid errors because of timezone differences |
| 679 | assert.Equal(t, info.ModTime().Unix(), mtime.Unix(), fmt.Sprintf("Time mismatch: %v != %v", info.ModTime(), mtime)) |
| 680 | } |
| 681 | |
| 682 | file1 := fstest.NewItem("file1", "hi", mtime) |
| 683 | vfs.WaitForWriters(waitForWritersDelay) |
| 684 | r.CheckRemoteItems(t, file1) |
| 685 | } |
| 686 | |
| 687 | func TestRWCacheRename(t *testing.T) { |
| 688 | opt := vfscommon.Opt |
nothing calls this directly
no test coverage detected
searching dependent graphs…