aboutsummaryrefslogtreecommitdiffstats
path: root/src/files.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 05:25:54 +0100
committertv <tv@krebsco.de>2026-10-31 05:25:54 +0100
commit4a42f2791292104059fc5daf9c9fddc5d9b249d3 (patch)
treee911f3b2da198c6af91a42cdb313d377d077b0c7 /src/files.rs
parentec85763bf5345a394b6cad7c609867a4e04f659b (diff)
tests: unify scratch dir logic
Diffstat (limited to 'src/files.rs')
-rw-r--r--src/files.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/files.rs b/src/files.rs
index 0ec741e..e27bde6 100644
--- a/src/files.rs
+++ b/src/files.rs
@@ -173,14 +173,23 @@ fn with_suffix(path: &Path, suffix: &str) -> PathBuf {
PathBuf::from(name)
}
+/// An empty directory for the test `name`: `continuum-<name>-<process ID>` in the
+/// temporary directory, emptied first.
+#[cfg(test)]
+pub(crate) fn scratch_dir(name: &str) -> PathBuf {
+ let dir = std::env::temp_dir().join(format!("continuum-{name}-{}", std::process::id()));
+ let _ = std::fs::remove_dir_all(&dir);
+ std::fs::create_dir_all(&dir).unwrap();
+ dir
+}
+
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn writes_reads_and_counts() {
- let dir = std::env::temp_dir().join(format!("continuum-files-{}", std::process::id()));
- std::fs::create_dir_all(&dir).unwrap();
+ let dir = scratch_dir("files");
let path = dir.join("state.json");
let files = Files::default();