Match error message from async File::create std File::create
@@ -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));
+ })
+ }
}
