test: src/tape/inventory.rs - avoid chown when running tests

This commit is contained in:
Dietmar Maurer 2021-02-02 13:43:16 +01:00
parent 92b7775fa1
commit 2f8809c6bc

View File

@ -146,12 +146,18 @@ impl Inventory {
let list: Vec<&MediaStateEntry> = self.map.values().collect();
let raw = serde_json::to_string_pretty(&serde_json::to_value(list)?)?;
let backup_user = crate::backup::backup_user()?;
let mode = nix::sys::stat::Mode::from_bits_truncate(0o0640);
let options = CreateOptions::new()
.perm(mode)
.owner(backup_user.uid)
.group(backup_user.gid);
let options = if cfg!(test) {
// We cannot use chown inside test environment (no permissions)
CreateOptions::new().perm(mode)
} else {
let backup_user = crate::backup::backup_user()?;
CreateOptions::new()
.perm(mode)
.owner(backup_user.uid)
.group(backup_user.gid)
};
replace_file(&self.inventory_path, raw.as_bytes(), options)?;