Skip to content

Commit

Permalink
Opt out FreeBSD test on permission since root user can always stat
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinkassimo committed Dec 4, 2021
1 parent 88de0e3 commit ce4253f
Showing 1 changed file with 25 additions and 21 deletions.
46 changes: 25 additions & 21 deletions tokio/tests/fs_try_exists.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,29 @@ async fn try_exists() {
assert_eq!(fs::try_exists(existing_path).await.unwrap(), true);
assert_eq!(fs::try_exists(nonexisting_path).await.unwrap(), false);

let permission_denied_directory_path = dir.path().join("baz");
fs::create_dir(&permission_denied_directory_path)
.await
.unwrap();
let permission_denied_file_path = permission_denied_directory_path.join("baz.txt");
fs::write(&permission_denied_file_path, b"Hello File!")
.await
.unwrap();
let mut perms = tokio::fs::metadata(&permission_denied_directory_path)
.await
.unwrap()
.permissions();
perms.set_mode(0o244);
fs::set_permissions(&permission_denied_directory_path, perms)
.await
.unwrap();
let permission_denied_result = fs::try_exists(permission_denied_file_path).await;
assert_eq!(
permission_denied_result.err().unwrap().kind(),
std::io::ErrorKind::PermissionDenied
);
// FreeBSD root user always has permission to stat.
#[cfg(not(freebsd))]
{
let permission_denied_directory_path = dir.path().join("baz");
fs::create_dir(&permission_denied_directory_path)
.await
.unwrap();
let permission_denied_file_path = permission_denied_directory_path.join("baz.txt");
fs::write(&permission_denied_file_path, b"Hello File!")
.await
.unwrap();
let mut perms = tokio::fs::metadata(&permission_denied_directory_path)
.await
.unwrap()
.permissions();
perms.set_mode(0o244);
fs::set_permissions(&permission_denied_directory_path, perms)
.await
.unwrap();
let permission_denied_result = fs::try_exists(permission_denied_file_path).await;
assert_eq!(
permission_denied_result.err().unwrap().kind(),
std::io::ErrorKind::PermissionDenied
);
}
}

0 comments on commit ce4253f

Please sign in to comment.