mod common;
use std::{fs, path::PathBuf};
use log::LevelFilter;
use common::run_in_temp_xvc_dir;
use xvc::{error::Result, watch};
use xvc_config::XvcVerbosity;
use xvc_core::XvcRoot;
use xvc_storage::storage::XVC_STORAGE_GUID_FILENAME;
use xvc_test_helper::{create_directory_tree, generate_filled_file};
fn create_directory_hierarchy() -> Result<XvcRoot> {
let temp_dir: XvcRoot = run_in_temp_xvc_dir()?;
generate_filled_file(&temp_dir.join(&PathBuf::from("file-0000.bin")), 10000, 100);
create_directory_tree(&temp_dir, 10, 10)?;
let level_1 = &temp_dir.join(&PathBuf::from("dir-0001"));
create_directory_tree(&level_1, 10, 10)?;
Ok(temp_dir)
}
#[test]
fn test_storage_new_local() -> Result<()> {
common::test_logging(LevelFilter::Trace);
let xvc_root = create_directory_hierarchy()?;
let storage_dir = common::random_temp_dir(Some("xvc-storage"));
let x = |cmd: &[&str]| {
let mut c = vec!["xvc"];
c.extend(cmd);
watch!(cmd);
xvc::test_dispatch(Some(&xvc_root), c, XvcVerbosity::Warn)
};
Ok(())
}