Skip to content

Commit 04c01e0

Browse files
committed
Add test case for unix permissions
1 parent e391079 commit 04c01e0

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/libstd/fs.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2160,6 +2160,27 @@ mod tests {
21602160
check!(fs::remove_file(&filename));
21612161
}
21622162

2163+
#[test]
2164+
#[cfg(unix)]
2165+
fn set_get_unix_permissions() {
2166+
use os::unix::fs::PermissionsExt;
2167+
2168+
let tmpdir = tmpdir();
2169+
let filename = &tmpdir.join("set_get_unix_permissions");
2170+
check!(fs::create_dir(filename));
2171+
let mask = 0o7777;
2172+
2173+
check!(fs::set_permissions(filename,
2174+
fs::Permissions::from_mode(0)));
2175+
let metadata0 = check!(fs::metadata(filename));
2176+
assert_eq!(mask & metadata0.permissions().mode(), 0);
2177+
2178+
check!(fs::set_permissions(filename,
2179+
fs::Permissions::from_mode(0o1777)));
2180+
let metadata1 = check!(fs::metadata(filename));
2181+
assert_eq!(mask & metadata1.permissions().mode(), 0o1777);
2182+
}
2183+
21632184
#[test]
21642185
#[cfg(windows)]
21652186
fn file_test_io_seek_read_write() {

0 commit comments

Comments
 (0)