[pbs-devel] [PATCH proxmox-backup v2 04/13] tests/prune: add tests for protecteded backups
Dominik Csapak
d.csapak at proxmox.com
Thu Sep 23 13:37:30 CEST 2021
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
tests/prune.rs | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/tests/prune.rs b/tests/prune.rs
index 14ecc887..24bd10cd 100644
--- a/tests/prune.rs
+++ b/tests/prune.rs
@@ -44,6 +44,44 @@ 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 mut options = PruneOptions::default();
+ options.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 mut options = PruneOptions::default();
+ options.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