Skip to content

Commit

Permalink
Auto merge of rust-lang#103264 - matthiaskrgr:rollup-3ja4spo, r=matth…
Browse files Browse the repository at this point in the history
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#103211 (rustdoc: remove class name `location` from sidebar sibling nav)
 - rust-lang#103223 (Use already checked RHS ty for LHS deref suggestions)
 - rust-lang#103237 (Clean up codeblock-tooltip rustdoc-gui test)
 - rust-lang#103239 (Allow #[unstable] impls for fn() with unstable abi.)
 - rust-lang#103246 (Mark `rust-analyzer` as a host-only tool)
 - rust-lang#103257 (rustdoc: move `setting-line` color CSS to settings.css)
 - rust-lang#103258 (Make miri read_dir test a little more robust)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
  • Loading branch information
bors committed Oct 19, 2022
2 parents ac25797 + 00dcb4c commit 299c81a
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions tests/pass-dep/shims/fs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
#![feature(io_error_more)]
#![feature(io_error_uncategorized)]

use std::ffi::CString;
use std::collections::HashMap;
use std::ffi::{CString, OsString};
use std::fs::{
create_dir, read_dir, read_link, remove_dir, remove_dir_all, remove_file, rename, File,
OpenOptions,
Expand Down Expand Up @@ -394,29 +395,34 @@ fn test_directory() {
// Creating a directory when it already exists should fail.
assert_eq!(ErrorKind::AlreadyExists, create_dir(&dir_path).unwrap_err().kind());

// Create some files inside the directory
// Create some files and dirs inside the directory
let path_1 = dir_path.join("test_file_1");
drop(File::create(&path_1).unwrap());
let path_2 = dir_path.join("test_file_2");
drop(File::create(&path_2).unwrap());
// Test that the files are present inside the directory
let dir_iter = read_dir(&dir_path).unwrap();
let mut file_names = dir_iter.map(|e| e.unwrap().file_name()).collect::<Vec<_>>();
file_names.sort_unstable();
assert_eq!(file_names, vec!["test_file_1", "test_file_2"]);
let dir_1 = dir_path.join("test_dir_1");
create_dir(&dir_1).unwrap();
// Test that read_dir metadata calls succeed
assert_eq!(
&[true, true],
&*read_dir(&dir_path)
HashMap::from([
(OsString::from("test_file_1"), true),
(OsString::from("test_file_2"), true),
(OsString::from("test_dir_1"), false)
]),
read_dir(&dir_path)
.unwrap()
.map(|e| e.unwrap().metadata().unwrap().is_file())
.collect::<Vec<_>>()
.map(|e| {
let e = e.unwrap();
(e.file_name(), e.metadata().unwrap().is_file())
})
.collect::<HashMap<_, _>>()
);
// Deleting the directory should fail, since it is not empty.
assert_eq!(ErrorKind::DirectoryNotEmpty, remove_dir(&dir_path).unwrap_err().kind());
// Clean up the files in the directory
remove_file(&path_1).unwrap();
remove_file(&path_2).unwrap();
remove_dir(&dir_1).unwrap();
// Now there should be nothing left in the directory.
let dir_iter = read_dir(&dir_path).unwrap();
let file_names = dir_iter.map(|e| e.unwrap().file_name()).collect::<Vec<_>>();
Expand Down

0 comments on commit 299c81a

Please sign in to comment.