truce-rack-test 1.0.2

Assertion helpers for truce-rack host implementations (load, render, state, params)
Documentation

truce-rack-test

crates.io docs.rs

Assertion helpers for truce-rack host integration tests — render N frames of silence (or a generated input) through a Plugin<f32>, assert no NaN / no clipping / state round-trips. Use these from per-format integration suites that exercise a PluginScanner impl across a corpus.

Usage

[dev-dependencies]
truce-rack-core = "1.0"
truce-rack-test = "1.0"
use truce_rack_core::scanner::PluginScanner;
use truce_rack_test::{render_silence, assert_no_nans, assert_state_round_trip};

let scanner = MyScanner::new();
for info in scanner.scan()? {
    let mut plugin = scanner.load(&info)?;
    let rendered = render_silence(&mut plugin, 48_000.0, 1024)?;
    assert_no_nans(&rendered);
    assert_state_round_trip(&mut plugin)?;
}

See also

The truce-rack workspace ships per-format wrapper crates this helper exercises — see truce-rack-clap, truce-rack-vst3, truce-rack-au, truce-rack-au3, truce-rack-lv2.

License

MIT or Apache-2.0, at your option.