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#gaia7
Alternatively, 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.