Documentation

tzst

use std::{io, path::PathBuf};

use gxhash::gxhash128;
use static_init::constructor;
use tracing::info;

#[constructor(0)]
extern "C" fn init() {
  loginit::init()
}

// #[tokio::test]
// async fn test() -> Result<()> {
//   info!("{}", 123456);
//   OK
// }

#[test]
fn main() -> io::Result<()> {
  let root_dir = env!("CARGO_MANIFEST_DIR");
  let root_dir: PathBuf = root_dir.into();
  let relative_paths = vec!["Cargo.toml", "src/lib.rs"];

  let compressed_data = tzst::w(&root_dir, relative_paths)?;

  let hash = gxhash128(&compressed_data, 0);
  info!("{}", hash);

  let t = tzst::r(&compressed_data)?;

  for i in t {
    info!("{:?}", i);
  }
  // let mut output_file = File::create(root_dir.join("out.tar.zst"))?;
  // output_file.write_all(&compressed_data)?;

  Ok(())
}