Crate ibc_test_framework
source · [−]Expand description
IBC Relayer Integration Test Framework
Overview
The ibc-test-framework crate provides the infrastructure and framework for writing end-to-end (E2E) tests that include the spawning of the relayer together with Cosmos full nodes running as child processes inside the tests.
Installation
Other than Rust, the test suite assumes the gaiad binary is present in $PATH. You can install Gaia by either building from source, or load it using Cosmos.nix:
nix shell github:informalsystems/cosmos.nix#gaia7Alternatively, you can use $CHAIN_COMMAND_PATH to override with a different executable that is compatible with gaiad.
Examples
Example tests written using ibc-test-framework can be found in the ibc-rs project repository
Diagrams
Some diagrams have been prepared to ease the understanding of the test framework:
Modules
Helper functions for setting up test cases in an imperative way.
Constructs for spawning and managing full nodes, e.g. the Gaia chains.
Error type used for the tests.
Framework code for making it easier to write test cases.
Code that may belong to the ibc module, but are currently
in this crate for easier review or maintenance.
Re-export of common constructs that are used by test cases.
Code that may belong to the ibc_relayer module, but are currently
in this crate for easier review or maintenance.
This module contains definitions of core data structures that are used in the test suite.
Utility and helper functions used in the tests.