[pbs-devel] [PATCH proxmox-backup 04/12] tests/prune: add tests for protecteded backups
Dominik Csapak
d.csapak at proxmox.com
Mon Sep 6 12:57:47 CEST 2021
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
tests/prune.rs | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/tests/prune.rs b/tests/prune.rs
index 5c61cbf9..1e72a74f 100644
--- a/tests/prune.rs
+++ b/tests/prune.rs
@@ -43,6 +43,42 @@ fn create_info(
BackupInfo { backup_dir, files, protected: false }
}
+fn create_info_protected(
+ snapshot: &str,
+ partial: bool,
+) -> BackupInfo {
+ let mut info = create_info(snapshot, partial);
+ info.protected = true;
+ info
+}
+
+#[test]
+fn test_prune_protected() -> Result<(), Error> {
+ let mut orig_list = Vec::new();
+
+ orig_list.push(create_info_protected("host/elsa/2019-11-15T09:39:15Z", false));
+ orig_list.push(create_info("host/elsa/2019-11-15T10:39:15Z", false));
+ orig_list.push(create_info("host/elsa/2019-11-15T10:49:15Z", false));
+ orig_list.push(create_info_protected("host/elsa/2019-11-15T10:59:15Z", false));
+
+ eprintln!("{:?}", orig_list);
+
+ let options = PruneOptions::new().keep_last(Some(1));
+ let remove_list = get_prune_list(orig_list.clone(), false, &options);
+ let expect: Vec<PathBuf> = vec![
+ PathBuf::from("host/elsa/2019-11-15T10:39:15Z"),
+ ];
+ assert_eq!(remove_list, expect);
+
+ let options = PruneOptions::new().keep_hourly(Some(1));
+ let remove_list = get_prune_list(orig_list.clone(), false, &options);
+ let expect: Vec<PathBuf> = vec![
+ PathBuf::from("host/elsa/2019-11-15T10:39:15Z"),
+ ];
+ assert_eq!(remove_list, expect);
+ Ok(())
+}
+
#[test]
fn test_prune_hourly() -> Result<(), Error> {
--
2.30.2
More information about the pbs-devel
mailing list