#![allow(dead_code)]
pub use btrfs_test_utils::{
BackingFile, LoopbackDevice, Mount, cache_gzipped_image,
deterministic_mount, mount_existing_readonly, single_mount,
verify_test_data, write_compressible_data, write_test_data,
};
use std::path::{Path, PathBuf};
pub fn our_mkfs_bin() -> PathBuf {
let btrfs = env!("CARGO_BIN_EXE_btrfs");
let dir = Path::new(btrfs).parent().unwrap();
let mkfs = dir.join("btrfs-mkfs");
assert!(
mkfs.exists(),
"btrfs-mkfs not found at {}; run `cargo build -p btrfs-mkfs` first",
mkfs.display()
);
mkfs
}
fn fixture_cache_dir() -> PathBuf {
Path::new(env!("CARGO_MANIFEST_DIR")).join("../target/test-fixtures")
}
pub fn cached_fixture_image() -> PathBuf {
let gz = Path::new(env!("CARGO_MANIFEST_DIR"))
.join("tests/commands/fixture.img.gz");
cache_gzipped_image(&gz, &fixture_cache_dir(), "test-fs.img")
}
pub fn cached_broken_image() -> PathBuf {
let gz = Path::new(env!("CARGO_MANIFEST_DIR"))
.join("tests/commands/broken.img.gz");
cache_gzipped_image(&gz, &fixture_cache_dir(), "broken.img")
}
pub fn fixture_mount() -> (tempfile::TempDir, Mount) {
mount_existing_readonly(&cached_fixture_image())
}