fvm_integration_tests

Crates.iofvm_integration_tests
lib.rsfvm_integration_tests
version4.5.1
sourcesrc
created_at2022-07-21 19:30:14.615486
updated_at2024-11-08 01:11:11.302189
descriptionFilecoin Virtual Machine integration tests framework
homepage
repositoryhttps://github.com/filecoin-project/ref-fvm
max_upload_size
id629828
size226,447
Melanie Riise (mriise)

documentation

README

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:

  1. Instantiate a new Tester specifying accessible accounts, the network and state tree versions.
  2. (Repeat) Set new actor states and deploy given actor in the stand alone Blockstore and StateTree.
  3. 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 the Machine and Executor are already instantiated

  1. Make assertion on the ApplyRet of the message

Current limitations

  1. Wasm bytecode is now expected to be received through a binary type (&[u8]). This be upgraded to work Rust module compiled at test time.
  2. 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
Commit count: 1545

cargo fmt