aboutsummaryrefslogtreecommitdiff
path: root/test/fuse_integration/posix_compliance_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/fuse_integration/posix_compliance_test.go')
-rw-r--r--test/fuse_integration/posix_compliance_test.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/fuse_integration/posix_compliance_test.go b/test/fuse_integration/posix_compliance_test.go
index bb3f2a0a1..fbd2eef0b 100644
--- a/test/fuse_integration/posix_compliance_test.go
+++ b/test/fuse_integration/posix_compliance_test.go
@@ -257,16 +257,16 @@ func (s *POSIXComplianceTestSuite) TestPermissions(t *testing.T) {
stat, err := os.Stat(testFile)
require.NoError(t, err)
- // Note: Some FUSE implementations may not preserve execute bits on regular files
- // SeaweedFS FUSE mount typically masks execute bits for security
+ // Note: The final file permissions are affected by the system's umask.
+ // We check against the requested mode and the mode as affected by a common umask (e.g. 0022).
actualMode := stat.Mode() & os.ModePerm
expectedMode := os.FileMode(0642)
- expectedModeNoExec := os.FileMode(0640) // 642 without execute bits
+ expectedModeWithUmask := os.FileMode(0640) // e.g., 0642 with umask 0002 or 0022
- // Accept either the exact permissions or permissions without execute bit
- if actualMode != expectedMode && actualMode != expectedModeNoExec {
+ // Accept either the exact permissions or permissions as modified by umask
+ if actualMode != expectedMode && actualMode != expectedModeWithUmask {
t.Errorf("Expected file permissions %o or %o, but got %o",
- expectedMode, expectedModeNoExec, actualMode)
+ expectedMode, expectedModeWithUmask, actualMode)
}
})