From b498bff78b88d4ca84e45e007094a3bbdde95117 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 17 Nov 2021 01:14:00 +0100 Subject: runner: util: fs: make ensure_removed() work with regular files --- crates/runner/src/util/fs.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'crates') diff --git a/crates/runner/src/util/fs.rs b/crates/runner/src/util/fs.rs index 099a339..9e16648 100644 --- a/crates/runner/src/util/fs.rs +++ b/crates/runner/src/util/fs.rs @@ -49,12 +49,17 @@ pub fn mkdir>(path: P) -> Result<()> { } pub fn ensure_removed>(path: P) -> Result<()> { - fs::remove_dir_all(path.as_ref()) + let result = if path.as_ref().is_dir() { + fs::remove_dir_all(path.as_ref()) + } else { + fs::remove_file(path.as_ref()) + }; + result .or_else(|err| match err.kind() { io::ErrorKind::NotFound => Ok(()), _ => Err(err), }) - .with_context(|| format!("Failed to delete directory {:?}", path.as_ref())) + .with_context(|| format!("Failed to delete {:?}", path.as_ref())) } pub fn is_dir_empty>(path: P) -> Result { -- cgit v1.2.3