Skip to main content

Module runner

Module runner 

Source
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§

RunnerConfig
Validation runner configuration.
ValidationRunner
Main validation runner.

Enums§

RunnerError

Functions§

quick_validate
Quick validation of a single circuit with default settings.