Skip to main content

Crate javm_guest_tests

Crate javm_guest_tests 

Source
Expand description

JAVM guest test vectors — three-way conformance corpus.

A library of pure, deterministic, no_std-friendly test functions that compile to both host (native Rust) and JAVM (PVM bytecode). Each operation has a <name>_suite() -> u64 companion that runs the underlying byte-level helper over a baked corpus of inputs and XOR-folds the results into a single u64 fingerprint.

The conformance harness (tests/conformance.rs) calls every suite three ways — host native, byte-PVM interpreter (via jar-kernel), JIT recompiler (via javm-exec) — and asserts the fingerprints agree, plus that the two PVM backends consume identical gas.

Baking the corpus into the guest sidesteps the args-delivery problem: the kernel can pass event.payload into the interpreter, but the standalone recompiler has no equivalent. Returning one u64 also avoids reading guest memory post-halt.

Modules§

tests

Constants§

SUITE_TABLE
Endpoint index → suite directory.

Type Aliases§

SuiteEntry
One row of SUITE_TABLE: (endpoint index, suite name, host fn).