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, the PVM2 interpreter (via nub::Nub local nub-arch-local), and the JIT recompiler (via nub::Nub Hyperlight, x86 codegen in javm-recompiler-x86) — 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).