diff options
| author | Chris Denton <chris@chrisdenton.dev> | 2025-03-18 16:43:39 +0000 |
|---|---|---|
| committer | Chris Denton <chris@chrisdenton.dev> | 2025-03-18 16:46:56 +0000 |
| commit | 3bfb6af978868f89785126e37e149136bf581655 (patch) | |
| tree | 7c4f24a1f68f22aba4d701279804a6f935f0798c | |
| parent | 4d30011f6c616be074ba655a75e5d55441232bbb (diff) | |
| download | rust-3bfb6af978868f89785126e37e149136bf581655.tar.gz rust-3bfb6af978868f89785126e37e149136bf581655.zip | |
Test windows file type equality
| -rw-r--r-- | library/std/src/fs/tests.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/library/std/src/fs/tests.rs b/library/std/src/fs/tests.rs index 6dd18e4f4c8..4712e58980c 100644 --- a/library/std/src/fs/tests.rs +++ b/library/std/src/fs/tests.rs @@ -1719,6 +1719,23 @@ fn test_eq_direntry_metadata() { } } +/// Test that windows file type equality is not affected by attributes unrelated +/// to the file type. +#[test] +#[cfg(target_os = "windows")] +fn test_eq_windows_file_type() { + let tmpdir = tmpdir(); + let file1 = File::create(tmpdir.join("file1")).unwrap(); + let file2 = File::create(tmpdir.join("file2")).unwrap(); + assert_eq!(file1.metadata().unwrap().file_type(), file2.metadata().unwrap().file_type()); + + // Change the readonly attribute of one file. + let mut perms = file1.metadata().unwrap().permissions(); + perms.set_readonly(true); + file1.set_permissions(perms).unwrap(); + assert_eq!(file1.metadata().unwrap().file_type(), file2.metadata().unwrap().file_type()); +} + /// Regression test for https://github.com/rust-lang/rust/issues/50619. #[test] #[cfg(target_os = "linux")] |
