From ebf34e7edd9240cf300b32544228e551a211ea85 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 6 Sep 2021 17:00:25 +0200 Subject: [PATCH] pbs-config: add 'create_mocked_lock' helper by making the field an option and making it None in the mocked case this function is only intended for testing and hidden from the docs Signed-off-by: Dominik Csapak Signed-off-by: Wolfgang Bumiller --- pbs-config/src/lib.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pbs-config/src/lib.rs b/pbs-config/src/lib.rs index 29811164..bd5430a3 100644 --- a/pbs-config/src/lib.rs +++ b/pbs-config/src/lib.rs @@ -18,7 +18,13 @@ pub fn backup_group() -> Result { pbs_tools::sys::query_group(BACKUP_GROUP_NAME)? .ok_or_else(|| format_err!("Unable to lookup '{}' group.", BACKUP_GROUP_NAME)) } -pub struct BackupLockGuard(std::fs::File); +pub struct BackupLockGuard(Option); + +#[doc(hidden)] +/// Note: do not use for production code, this is only intended for tests +pub unsafe fn create_mocked_lock() -> BackupLockGuard { + BackupLockGuard(None) +} /// Open or create a lock file owned by user "backup" and lock it. /// @@ -41,7 +47,7 @@ pub fn open_backup_lockfile>( let timeout = timeout.unwrap_or(std::time::Duration::new(10, 0)); let file = proxmox::tools::fs::open_file_locked(&path, timeout, exclusive, options)?; - Ok(BackupLockGuard(file)) + Ok(BackupLockGuard(Some(file))) } /// Atomically write data to file owned by "root:backup" with permission "0640"