Skip to content

Commit 6a4c8e7

Browse files
committed
Test windows file type equality
1 parent 924a1b7 commit 6a4c8e7

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

std/src/fs/tests.rs

+17
Original file line numberDiff line numberDiff line change
@@ -1719,6 +1719,23 @@ fn test_eq_direntry_metadata() {
17191719
}
17201720
}
17211721

1722+
/// Test that windows file type equality is not affected by attributes unrelated
1723+
/// to the file type.
1724+
#[test]
1725+
#[cfg(target_os = "windows")]
1726+
fn test_eq_windows_file_type() {
1727+
let tmpdir = tmpdir();
1728+
let file1 = File::create(tmpdir.join("file1")).unwrap();
1729+
let file2 = File::create(tmpdir.join("file2")).unwrap();
1730+
assert_eq!(file1.metadata().unwrap().file_type(), file2.metadata().unwrap().file_type());
1731+
1732+
// Change the readonly attribute of one file.
1733+
let mut perms = file1.metadata().unwrap().permissions();
1734+
perms.set_readonly(true);
1735+
file1.set_permissions(perms).unwrap();
1736+
assert_eq!(file1.metadata().unwrap().file_type(), file2.metadata().unwrap().file_type());
1737+
}
1738+
17221739
/// Regression test for https://github.com/rust-lang/rust/issues/50619.
17231740
#[test]
17241741
#[cfg(target_os = "linux")]

0 commit comments

Comments
 (0)