Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 38d7eae

Browse files
committed
integration test for is_file() and is_directory()
1 parent a856870 commit 38d7eae

File tree

1 file changed

+30
-15
lines changed

1 file changed

+30
-15
lines changed

‎uefi-test-runner/src/proto/media/known_disk.rs

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ fn test_existing_dir(directory: &mut Directory) {
1515
info!("Testing existing directory");
1616

1717
let input_dir_path = cstr16!("test_dir");
18-
let mutdir = directory
18+
let dir = directory
1919
.open(input_dir_path, FileMode::Read, FileAttribute::empty())
20-
.expect("failed to open directory")
21-
.into_directory()
22-
.expect("not a directory");
20+
.expect("failed to open directory");
21+
22+
assert!(dir.is_directory().unwrap());
23+
24+
let mut dir = dir.into_directory().expect("not a directory");
2325

2426
// Collect and validate the directory entries.
2527
let mut entry_names = vec![];
@@ -129,15 +131,17 @@ fn test_create_file(directory: &mut Directory) {
129131
info!("Testing file creation");
130132

131133
// Create a new file.
132-
let mutfile = directory
134+
let file = directory
133135
.open(
134136
cstr16!("new_test_file.txt"),
135137
FileMode::CreateReadWrite,
136138
FileAttribute::empty(),
137139
)
138-
.expect("failed to create file")
139-
.into_regular_file()
140-
.expect("not a regular file");
140+
.expect("failed to create file");
141+
142+
assert!(file.is_regular_file().unwrap());
143+
144+
let mut file = file.into_regular_file().expect("not a regular file");
141145
file.write(b"test output data").unwrap();
142146
}
143147

@@ -261,10 +265,21 @@ pub fn test_known_disk(bt: &BootServices) {
261265
let mut sfs = bt
262266
.open_protocol_exclusive::<SimpleFileSystem>(handle)
263267
.expect("Failed to get simple file system");
264-
let mut directory = sfs.open_volume().unwrap();
268+
let mut root_directory = sfs.open_volume().unwrap();
269+
270+
// test is_directory() and is_regular_file() from the File trait which is the
271+
// base for into_type() used later in the test.
272+
{
273+
// because File is "Sized", we cannot cast it to &dyn
274+
fn test_is_directory(file: &impl File) {
275+
assert_eq!(Ok(true), file.is_directory());
276+
assert_eq!(Ok(false), file.is_regular_file());
277+
}
278+
test_is_directory(&root_directory);
279+
}
265280

266281
let mut fs_info_buf = vec![0; 128];
267-
let fs_info = directory
282+
let fs_info = root_directory
268283
.get_info::<FileSystemInfo>(&mut fs_info_buf)
269284
.unwrap();
270285

@@ -281,13 +296,13 @@ pub fn test_known_disk(bt: &BootServices) {
281296
assert_eq!(fs_info.block_size(), 512);
282297

283298
// Check that `get_boxed_info` returns the same info.
284-
let boxed_fs_info = directory.get_boxed_info::<FileSystemInfo>().unwrap();
299+
let boxed_fs_info = root_directory.get_boxed_info::<FileSystemInfo>().unwrap();
285300
assert_eq!(*fs_info, *boxed_fs_info);
286301

287-
test_existing_dir(&mut directory);
288-
test_delete_warning(&mut directory);
289-
test_existing_file(&mut directory);
290-
test_create_file(&mut directory);
302+
test_existing_dir(&mut root_directory);
303+
test_delete_warning(&mut root_directory);
304+
test_existing_file(&mut root_directory);
305+
test_create_file(&mut root_directory);
291306
}
292307

293308
test_raw_disk_io(handle, bt);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /