8 releases (2 stable)
3.0.0 | Feb 24, 2023 |
---|---|
3.0.0-alpha.3 | Feb 10, 2023 |
3.0.0-alpha.1 | Jan 22, 2023 |
2.0.0 | Oct 13, 2022 |
0.1.0 | Jul 21, 2022 |
#374 in WebAssembly
470 downloads per month
715KB
16K
SLoC
Integration test module
This directory contains tooling to run integration test over the FVM.
Framework components
The bulk of the logic is handled by the Tester
struct.
The following flow has been defined as a default usage:
- Instantiate a new
Tester
specifying accessible accounts, the network and state tree versions. - (Repeat) Set new actor states and deploy given actor in the stand alone
Blockstore
andStateTree
. - Interact with previously deployed actors by calling the
execute()
function.
Note: Once the
execute()
is called new actors have to be instantiated with messages as theMachine
andExecutor
are already instantiated
- Make assertion on the
ApplyRet
of the message
Current limitations
- Wasm bytecode is now expected to be received through a binary type (
&[u8]
). This be upgraded to work Rust module compiled at test time. - Some testing and examples should be added to demonstrate how the framework works.
TODO: (hack to get coverage reports from actors + integration tests)
cargo build -p "*actor"
export SKIP_WASM_BUILD=true
export FVM_STORE_ARTIFACT_DIR=../../target/llvm-cov-target/
cargo llvm-cov -p fvm_integration_tests --lcov
Dependencies
~46MB
~1M SLoC