diff options
| author | Trevor Merrifield <trevorm42@gmail.com> | 2017-09-17 17:01:35 -0400 |
|---|---|---|
| committer | Trevor Merrifield <trevorm42@gmail.com> | 2017-09-17 20:13:29 -0400 |
| commit | 04c01e0b1fc4830f4416c79d886c2f1a54986fe9 (patch) | |
| tree | b1217c2d684580deddc51cc3be2f9d826f1481b3 /src/libstd | |
| parent | e3910794961b820defedd909b11e69681803e0db (diff) | |
| download | rust-04c01e0b1fc4830f4416c79d886c2f1a54986fe9.tar.gz rust-04c01e0b1fc4830f4416c79d886c2f1a54986fe9.zip | |
Add test case for unix permissions
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/fs.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index 2a916b819cc..99162766081 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -2161,6 +2161,27 @@ mod tests { } #[test] + #[cfg(unix)] + fn set_get_unix_permissions() { + use os::unix::fs::PermissionsExt; + + let tmpdir = tmpdir(); + let filename = &tmpdir.join("set_get_unix_permissions"); + check!(fs::create_dir(filename)); + let mask = 0o7777; + + check!(fs::set_permissions(filename, + fs::Permissions::from_mode(0))); + let metadata0 = check!(fs::metadata(filename)); + assert_eq!(mask & metadata0.permissions().mode(), 0); + + check!(fs::set_permissions(filename, + fs::Permissions::from_mode(0o1777))); + let metadata1 = check!(fs::metadata(filename)); + assert_eq!(mask & metadata1.permissions().mode(), 0o1777); + } + + #[test] #[cfg(windows)] fn file_test_io_seek_read_write() { use os::windows::fs::FileExt; |
