diff options
Diffstat (limited to 'vendor/filetime/src/lib.rs')
-rw-r--r-- | vendor/filetime/src/lib.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/vendor/filetime/src/lib.rs b/vendor/filetime/src/lib.rs index 594d8a8ae..95ea5d4f7 100644 --- a/vendor/filetime/src/lib.rs +++ b/vendor/filetime/src/lib.rs @@ -47,7 +47,7 @@ cfg_if::cfg_if! { } else if #[cfg(windows)] { #[path = "windows.rs"] mod imp; - } else if #[cfg(target_family = "wasm")] { + } else if #[cfg(all(target_family = "wasm", not(target_os = "emscripten")))] { #[path = "wasm.rs"] mod imp; } else { @@ -561,11 +561,18 @@ mod tests { set_file_times(&path, atime, mtime).unwrap(); let new_mtime = FileTime::from_unix_time(-10_000, 0); - set_file_times(&path, atime, new_mtime).unwrap(); + if cfg!(target_os = "aix") { + // On AIX, os checks if the unix timestamp is valid. + let result = set_file_times(&path, atime, new_mtime); + assert!(result.is_err()); + assert!(result.err().unwrap().kind() == std::io::ErrorKind::InvalidInput); + } else { + set_file_times(&path, atime, new_mtime).unwrap(); - let metadata = fs::metadata(&path).unwrap(); - let mtime = FileTime::from_last_modification_time(&metadata); - assert_eq!(mtime, new_mtime); + let metadata = fs::metadata(&path).unwrap(); + let mtime = FileTime::from_last_modification_time(&metadata); + assert_eq!(mtime, new_mtime); + } } #[test] |