1 | #![warn (rust_2018_idioms)] |
2 | #![cfg (all(feature = "full" , not(target_os = "wasi" )))] // WASI does not support all fs operations |
3 | #![cfg (windows)] |
4 | |
5 | use tokio::fs::OpenOptions; |
6 | use windows_sys::Win32::Storage::FileSystem; |
7 | |
8 | #[tokio::test ] |
9 | #[cfg (windows)] |
10 | async fn open_options_windows_access_mode() { |
11 | // TESTING HACK: use Debug output to check the stored data |
12 | assert!(format!("{:?}" , OpenOptions::new().access_mode(0)).contains("access_mode: Some(0)" )); |
13 | } |
14 | |
15 | #[tokio::test ] |
16 | #[cfg (windows)] |
17 | async fn open_options_windows_share_mode() { |
18 | // TESTING HACK: use Debug output to check the stored data |
19 | assert!(format!("{:?}" , OpenOptions::new().share_mode(0)).contains("share_mode: 0," )); |
20 | } |
21 | |
22 | #[tokio::test ] |
23 | #[cfg (windows)] |
24 | async fn open_options_windows_custom_flags() { |
25 | // TESTING HACK: use Debug output to check the stored data |
26 | assert!(format!( |
27 | "{:?}" , |
28 | OpenOptions::new().custom_flags(FileSystem::FILE_FLAG_DELETE_ON_CLOSE) |
29 | ) |
30 | .contains("custom_flags: 67108864," )); |
31 | } |
32 | |
33 | #[tokio::test ] |
34 | #[cfg (windows)] |
35 | async fn open_options_windows_attributes() { |
36 | assert!(format!( |
37 | "{:?}" , |
38 | OpenOptions::new().attributes(FileSystem::FILE_ATTRIBUTE_HIDDEN) |
39 | ) |
40 | .contains("attributes: 2," )); |
41 | } |
42 | |
43 | #[tokio::test ] |
44 | #[cfg (windows)] |
45 | async fn open_options_windows_security_qos_flags() { |
46 | assert!(format!( |
47 | "{:?}" , |
48 | OpenOptions::new().security_qos_flags(FileSystem::SECURITY_IDENTIFICATION) |
49 | ) |
50 | .contains("security_qos_flags: 1114112," )); |
51 | } |
52 | |