Skip to main content

Module runner

Module runner 

Source
Expand description

Vector runner: execute one TestVector against a registered TC scheme and produce a TestResult.

The runner stands up one confium_tc::Session per party, drives every session forward one round at a time, routes all outgoing messages through a crate::ByzantineTransport (so configured behaviors take effect), and feeds the surviving messages back as the next round’s incoming set. When every session reports complete, it reads the result and compares it against the vector’s expected bytes.

The runner is the integration point between the deterministic environment, the Byzantine wrapper, and the link-time scheme registry. NIST evaluators point it at a vector file plus a confium install-ed scheme name; everything else is automatic.

Schemes under test are resolved via the link-time confium_tc::registry — the same mechanism real plugins use. Tests that want to drive a mock scheme register it via inventory::submit! (see the tests at the bottom of this file).

Structs§

VectorRunner
Drives a vector through a registered TC scheme.