| use super::{get_path_canonical, get_path_fallback}; |
| use crate::env; |
| use crate::fs::{File, canonicalize}; |
| use crate::os::windows::io::AsRawHandle; |
| use crate::test_helpers::tmpdir; |
| |
| #[test] |
| /// Test that `get_path_canonical` and `get_path_fallback` return the exact same path. |
| fn canonicalize_fallback() { |
| let t = tmpdir(); |
| let fname = t.join("hello.txt"); |
| // This test may break if run in an environment that requires the fallback. |
| // So skip it if not in CI. |
| if env::var_os("CI").is_none() && canonicalize(&fname).is_err() { |
| return; |
| } |
| let f = File::create(fname).unwrap(); |
| let canonical = get_path_canonical(f.as_raw_handle()).unwrap(); |
| let fallback = get_path_fallback(f.as_raw_handle()).unwrap(); |
| assert_eq!(canonical, fallback); |
| } |