Skip to content

Commit 34239d2

Browse files
Improve tests around reading link and filling stats
1 parent 5fbe854 commit 34239d2

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

component/libfuse/libfuse2_handler_test_wrapper.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -406,9 +406,9 @@ func testFillStatModes(suite *libfuseTestSuite) {
406406
lf.dirPermission = 0777
407407
lf.filePermission = 0666
408408

409-
dirAttr := &internal.ObjAttr{Flags: internal.NewDirBitMap(), Mode: 0}
410-
fileAttr := &internal.ObjAttr{Flags: internal.NewFileBitMap(), Mode: 0}
411-
linkAttr := &internal.ObjAttr{Flags: internal.NewSymlinkBitMap(), Mode: 0}
409+
dirAttr := &internal.ObjAttr{Flags: internal.NewDirBitMap(), Mode: 0701}
410+
fileAttr := &internal.ObjAttr{Flags: internal.NewFileBitMap(), Mode: 0640}
411+
linkAttr := &internal.ObjAttr{Flags: internal.NewSymlinkBitMap(), Mode: 0777}
412412

413413
dirStat := &fuse.Stat_t{}
414414
fileStat := &fuse.Stat_t{}
@@ -420,6 +420,9 @@ func testFillStatModes(suite *libfuseTestSuite) {
420420
suite.assert.NotEqual(0, dirStat.Mode&fuse.S_IFDIR)
421421
suite.assert.NotEqual(0, fileStat.Mode&fuse.S_IFREG)
422422
suite.assert.NotEqual(0, linkStat.Mode&fuse.S_IFLNK)
423+
suite.assert.Equal(uint32(0701), dirStat.Mode&0x1ff)
424+
suite.assert.Equal(uint32(0640), fileStat.Mode&0x1ff)
425+
suite.assert.Equal(uint32(0777), linkStat.Mode&0x1ff)
423426
}
424427

425428
func testFillStatModeDefault(suite *libfuseTestSuite) {
@@ -1479,10 +1482,11 @@ func testReadLinkError(suite *libfuseTestSuite) {
14791482
defer suite.cleanupTest()
14801483
name := "path"
14811484
path := "/" + name
1482-
options := internal.ReadLinkOptions{Name: name}
1485+
linkSize := int64(32)
1486+
options := internal.ReadLinkOptions{Name: name, Size: linkSize}
14831487
suite.mock.EXPECT().ReadLink(options).Return("", errors.New("failed to read link"))
14841488
getAttrOpt := internal.GetAttrOptions{Name: name}
1485-
suite.mock.EXPECT().GetAttr(getAttrOpt).Return(nil, nil)
1489+
suite.mock.EXPECT().GetAttr(getAttrOpt).Return(&internal.ObjAttr{Size: linkSize}, nil)
14861490

14871491
err, target := cfuseFS.Readlink(path)
14881492
suite.assert.Equal(-fuse.EIO, err)
@@ -1493,10 +1497,11 @@ func testReadLinkPermission(suite *libfuseTestSuite) {
14931497
defer suite.cleanupTest()
14941498
name := "path"
14951499
path := "/" + name
1496-
options := internal.ReadLinkOptions{Name: name}
1500+
linkSize := int64(64)
1501+
options := internal.ReadLinkOptions{Name: name, Size: linkSize}
14971502
suite.mock.EXPECT().ReadLink(options).Return("", os.ErrPermission)
14981503
getAttrOpt := internal.GetAttrOptions{Name: name}
1499-
suite.mock.EXPECT().GetAttr(getAttrOpt).Return(nil, nil)
1504+
suite.mock.EXPECT().GetAttr(getAttrOpt).Return(&internal.ObjAttr{Size: linkSize}, nil)
15001505

15011506
err, target := cfuseFS.Readlink(path)
15021507
suite.assert.Equal(-fuse.EACCES, err)

0 commit comments

Comments
 (0)