Expand description
Test execution and orchestration.
This module provides the ValidationRunner for executing validation tests,
as well as the quick_validate function for single-circuit validation.
§Using ValidationRunner
ⓘ
use pedalkernel_validate::{
config::ValidationConfig,
runner::{RunnerConfig, ValidationRunner},
};
// Configure the runner
let runner_config = RunnerConfig {
circuits_dir: "circuits".into(),
golden_dir: "golden".into(),
output_dir: "output".into(),
sample_rate: 96000,
oversample: 4,
save_output: true,
regenerate_golden: false,
};
// Load validation config
let validation_config = ValidationConfig::default_config();
// Create runner and execute
let runner = ValidationRunner::new(runner_config, validation_config);
let results = runner.run_all().unwrap();
// Check results
for (suite_name, suite_result) in &results {
println!("{}: {}/{} passed",
suite_name, suite_result.passed, suite_result.passed + suite_result.failed);
}§Quick Validation
For validating a single circuit without full configuration:
ⓘ
use pedalkernel_validate::runner::quick_validate;
use std::path::Path;
let result = quick_validate(
Path::new("my_circuit.pedal"),
Some(Path::new("golden.npy")),
96000.0
).unwrap();
println!("RMS error: {:.1} dB", result.normalized_rms_error_db);Structs§
- Runner
Config - Validation runner configuration.
- Validation
Runner - Main validation runner.
Enums§
Functions§
- quick_
validate - Quick validation of a single circuit with default settings.