summaryrefslogtreecommitdiffstats
path: root/vendor/nix/test/test_dir.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /vendor/nix/test/test_dir.rs
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/nix/test/test_dir.rs')
-rw-r--r--vendor/nix/test/test_dir.rs65
1 files changed, 0 insertions, 65 deletions
diff --git a/vendor/nix/test/test_dir.rs b/vendor/nix/test/test_dir.rs
deleted file mode 100644
index 2af4aa5c0..000000000
--- a/vendor/nix/test/test_dir.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-use nix::dir::{Dir, Type};
-use nix::fcntl::OFlag;
-use nix::sys::stat::Mode;
-use std::fs::File;
-use tempfile::tempdir;
-
-#[cfg(test)]
-fn flags() -> OFlag {
- #[cfg(target_os = "illumos")]
- let f = OFlag::O_RDONLY | OFlag::O_CLOEXEC;
-
- #[cfg(not(target_os = "illumos"))]
- let f = OFlag::O_RDONLY | OFlag::O_CLOEXEC | OFlag::O_DIRECTORY;
-
- f
-}
-
-#[test]
-#[allow(clippy::unnecessary_sort_by)] // False positive
-fn read() {
- let tmp = tempdir().unwrap();
- File::create(tmp.path().join("foo")).unwrap();
- std::os::unix::fs::symlink("foo", tmp.path().join("bar")).unwrap();
- let mut dir = Dir::open(tmp.path(), flags(), Mode::empty()).unwrap();
- let mut entries: Vec<_> = dir.iter().map(|e| e.unwrap()).collect();
- entries.sort_by(|a, b| a.file_name().cmp(b.file_name()));
- let entry_names: Vec<_> = entries
- .iter()
- .map(|e| e.file_name().to_str().unwrap().to_owned())
- .collect();
- assert_eq!(&entry_names[..], &[".", "..", "bar", "foo"]);
-
- // Check file types. The system is allowed to return DT_UNKNOWN (aka None here) but if it does
- // return a type, ensure it's correct.
- assert!(&[Some(Type::Directory), None].contains(&entries[0].file_type())); // .: dir
- assert!(&[Some(Type::Directory), None].contains(&entries[1].file_type())); // ..: dir
- assert!(&[Some(Type::Symlink), None].contains(&entries[2].file_type())); // bar: symlink
- assert!(&[Some(Type::File), None].contains(&entries[3].file_type())); // foo: regular file
-}
-
-#[test]
-fn rewind() {
- let tmp = tempdir().unwrap();
- let mut dir = Dir::open(tmp.path(), flags(), Mode::empty()).unwrap();
- let entries1: Vec<_> = dir
- .iter()
- .map(|e| e.unwrap().file_name().to_owned())
- .collect();
- let entries2: Vec<_> = dir
- .iter()
- .map(|e| e.unwrap().file_name().to_owned())
- .collect();
- let entries3: Vec<_> = dir
- .into_iter()
- .map(|e| e.unwrap().file_name().to_owned())
- .collect();
- assert_eq!(entries1, entries2);
- assert_eq!(entries2, entries3);
-}
-
-#[cfg(not(target_os = "haiku"))]
-#[test]
-fn ebadf() {
- assert_eq!(Dir::from_fd(-1).unwrap_err(), nix::Error::EBADF);
-}