Skip to content

Commit 759588f

Browse files
committed
integration test for is_file() and is_directory()
1 parent 8206a78 commit 759588f

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

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

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +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 mut dir = directory
18+
let dir = directory
1919
.open(input_dir_path, FileMode::Read, FileAttribute::empty())
20-
.expect("failed to open directory")
20+
.expect("failed to open directory");
21+
22+
assert!(dir.is_directory().unwrap());
23+
24+
let mut dir = dir
2125
.into_directory()
2226
.expect("not a directory");
2327

@@ -129,13 +133,17 @@ fn test_create_file(directory: &mut Directory) {
129133
info!("Testing file creation");
130134

131135
// Create a new file.
132-
let mut file = directory
136+
let file = directory
133137
.open(
134138
cstr16!("new_test_file.txt"),
135139
FileMode::CreateReadWrite,
136140
FileAttribute::empty(),
137141
)
138-
.expect("failed to create file")
142+
.expect("failed to create file");
143+
144+
assert!(file.is_regular_file().unwrap());
145+
146+
let mut file = file
139147
.into_regular_file()
140148
.expect("not a regular file");
141149
file.write(b"test output data").unwrap();
@@ -261,10 +269,19 @@ pub fn test_known_disk(bt: &BootServices) {
261269
let mut sfs = bt
262270
.open_protocol_exclusive::<SimpleFileSystem>(handle)
263271
.expect("Failed to get simple file system");
264-
let mut directory = sfs.open_volume().unwrap();
272+
let mut root_directory = sfs.open_volume().unwrap();
273+
274+
// test is_directory() and is_regular_file() from the File trait which is the
275+
// base for into_type() used later in the test.
276+
{
277+
let root_directory: &dyn File = &root_directory;
278+
assert_eq!(Ok(true), root_directory.is_directory());
279+
assert_eq!(Ok(false), root_directory.is_regular_file());
280+
}
281+
265282

266283
let mut fs_info_buf = vec![0; 128];
267-
let fs_info = directory
284+
let fs_info = root_directory
268285
.get_info::<FileSystemInfo>(&mut fs_info_buf)
269286
.unwrap();
270287

@@ -281,13 +298,13 @@ pub fn test_known_disk(bt: &BootServices) {
281298
assert_eq!(fs_info.block_size(), 512);
282299

283300
// Check that `get_boxed_info` returns the same info.
284-
let boxed_fs_info = directory.get_boxed_info::<FileSystemInfo>().unwrap();
301+
let boxed_fs_info = root_directory.get_boxed_info::<FileSystemInfo>().unwrap();
285302
assert_eq!(*fs_info, *boxed_fs_info);
286303

287-
test_existing_dir(&mut directory);
288-
test_delete_warning(&mut directory);
289-
test_existing_file(&mut directory);
290-
test_create_file(&mut directory);
304+
test_existing_dir(&mut root_directory);
305+
test_delete_warning(&mut root_directory);
306+
test_existing_file(&mut root_directory);
307+
test_create_file(&mut root_directory);
291308
}
292309

293310
test_raw_disk_io(handle, bt);

0 commit comments

Comments
 (0)