47 lines
1.2 KiB
Rust
47 lines
1.2 KiB
Rust
#![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());
|
|
}
|
|
});
|
|
}
|