Discard archived session checkpoints

This commit is contained in:
Georg Bauer
2026-07-28 19:20:10 +02:00
parent 74c5948955
commit eaa2fcfe42
5 changed files with 154 additions and 20 deletions

View File

@@ -515,6 +515,25 @@ mod tests {
std::fs::remove_dir_all(directory).unwrap();
}
#[test]
fn discarding_a_session_removes_every_checkpoint_stage() {
let directory =
std::env::temp_dir().join(format!("ds4-server-discard-{}", std::process::id()));
std::fs::create_dir_all(&directory).unwrap();
for name in ["4.bin", "4.tmp", "4.compacting", "5.bin"] {
std::fs::write(directory.join(name), b"payload").unwrap();
}
assert!(super::super::discard_session_checkpoint_files(&directory, 4).unwrap());
assert!(!directory.join("4.bin").exists());
assert!(!directory.join("4.tmp").exists());
assert!(!directory.join("4.compacting").exists());
assert!(directory.join("5.bin").exists());
assert!(!super::super::discard_session_checkpoint_files(&directory, 4).unwrap());
std::fs::remove_dir_all(directory).unwrap();
}
#[test]
fn git_state_lists_and_switches_local_branches() {
let nonce = SystemTime::now()