diff options
-rw-r--r-- | lib/fs/filesystem_copy_range_test.go | 14 | ||||
-rw-r--r-- | lib/fs/metrics.go | 4 | ||||
-rw-r--r-- | lib/fs/mtimefs_test.go | 6 | ||||
-rw-r--r-- | lib/scanner/virtualfs_test.go | 2 |
4 files changed, 11 insertions, 15 deletions
diff --git a/lib/fs/filesystem_copy_range_test.go b/lib/fs/filesystem_copy_range_test.go index 890db7199..04328be0f 100644 --- a/lib/fs/filesystem_copy_range_test.go +++ b/lib/fs/filesystem_copy_range_test.go @@ -320,21 +320,11 @@ func TestCopyRange(tttt *testing.T) { t.Fatal(err) } - srcBasic, ok := src.(basicFile) - if !ok { - if srcMetric, isMetr := src.(*metricsFile); isMetr { - srcBasic, ok = srcMetric.next.(basicFile) - } - } + srcBasic, ok := unwrap(src).(basicFile) if !ok { t.Fatal("src file is not a basic file") } - dstBasic, ok := dst.(basicFile) - if !ok { - if dstMetric, isMetr := src.(*metricsFile); isMetr { - dstBasic, ok = dstMetric.next.(basicFile) - } - } + dstBasic, ok := unwrap(dst).(basicFile) if !ok { t.Fatal("dst file is not a basic file") } diff --git a/lib/fs/metrics.go b/lib/fs/metrics.go index 191872c47..fe09a9a18 100644 --- a/lib/fs/metrics.go +++ b/lib/fs/metrics.go @@ -287,3 +287,7 @@ func (m *metricsFile) Name() string { defer m.fs.account("Name")(-1) return m.next.Name() } + +func (m *metricsFile) unwrap() File { + return m.next +} diff --git a/lib/fs/mtimefs_test.go b/lib/fs/mtimefs_test.go index 1ce5407ec..22f02b383 100644 --- a/lib/fs/mtimefs_test.go +++ b/lib/fs/mtimefs_test.go @@ -260,6 +260,8 @@ func newMtimeFS(path string, db database, options ...MtimeFSOption) *mtimeFS { } func newMtimeFSWithWalk(path string, db database, options ...MtimeFSOption) (*mtimeFS, *walkFilesystem) { - wfs := NewFilesystem(FilesystemTypeBasic, path, NewMtimeOption(db, options...)).(*walkFilesystem) - return wfs.Filesystem.(*mtimeFS), wfs + fs := NewFilesystem(FilesystemTypeBasic, path, NewMtimeOption(db, options...)) + wfs, _ := unwrapFilesystem(fs, filesystemWrapperTypeWalk) + mfs, _ := unwrapFilesystem(fs, filesystemWrapperTypeMtime) + return mfs.(*mtimeFS), wfs.(*walkFilesystem) } diff --git a/lib/scanner/virtualfs_test.go b/lib/scanner/virtualfs_test.go index 4b97e2e52..d1c5515b5 100644 --- a/lib/scanner/virtualfs_test.go +++ b/lib/scanner/virtualfs_test.go @@ -115,7 +115,7 @@ type fakeInfo struct { } func (f fakeInfo) Name() string { return f.name } -func (fakeInfo) Mode() fs.FileMode { return 0755 } +func (fakeInfo) Mode() fs.FileMode { return 0o755 } func (f fakeInfo) Size() int64 { return f.size } func (fakeInfo) ModTime() time.Time { return time.Unix(1234567890, 0) } func (f fakeInfo) IsDir() bool { |