#![cfg(test)] extern crate test_generator; use std::path::Path; use test_generator::test_resources; use crate::manifest::generate_manifest_rusty; #[test_resources("testfiles/**/*.7z")] fn manifest_gen(resource: &str) { let runtime = tokio::runtime::Builder::new_current_thread() .enable_all() .build() .expect("failed to create tokio runtime"); runtime.block_on(async move { let filepath = Path::new(resource); let manifest = generate_manifest_rusty( filepath, |_| {}, |message| { println!("({}) {}", filepath.display(), message); }, None, ) .await .unwrap_or_else(|err| { panic!( "failed to generate manifest for {}: {:?}", filepath.display(), err ) }); let first_chunk = manifest .chunks .values() .next() .expect("no chunks generated"); let first_chunk_length = first_chunk.files.len(); if first_chunk_length == 0 { panic!("{} has no files in manifest", filepath.display()); } }); }