diff --git a/src/fs/file.rs b/src/fs/file.rs index e8cad7ad..aae201b6 100644 --- a/src/fs/file.rs +++ b/src/fs/file.rs @@ -154,7 +154,6 @@ impl File { let path = path.as_ref().to_owned(); let file = spawn_blocking(move || { std::fs::File::create(&path) - .context(|| format!("could not create `{}`", path.display())) }) .await?; Ok(File::new(file, true)) @@ -903,4 +902,15 @@ mod tests { assert_eq!(len as u64, file.metadata().await.unwrap().len()); }); } + + #[test] + fn async_file_create_error () { + let file_name = Path::new("/tmp/does_not_exist/test"); + let expect = std::fs::File::create(file_name).unwrap_err(); + + crate::task::block_on(async move { + let actual = File::create(file_name).await.unwrap_err(); + assert_eq!(format!("{}", expect), format!("{}", actual)); + }) + } }