This repository contains end-to-end (E2E) and Live-E2E (testing with data on Testnet) tests for Dymension and relevant repositories. These tests ensure the functionality and integration of various components within Dymension.
Before running the tests, ensure you have the following installed:
- Docker
- Go (v1.21 or above)
The version matrix below shows which versions of the E2E-Tests, Dymension, Rollapp, Relayer and libraries are compatible with each other.
E2E Tests | Dymension | Rollapp-EVM | Rollapp-Wasm | Relayer |
---|---|---|---|---|
v0.0.2 | v3.1.0 | v2.1.z | 0.1.0-6cf8b0dd | v0.3.3-v2.5.2-relayer |
v1.0.2 | v3.1.0-73a8a1d8 | v2.2.0-rc03 | 0.1.0-7b60edee | v0.3.3-v2.5.2-relayer |
v1.1.0 | v3.1.0-a74ffb0c | v2.2.0 | 0.1.0-7b60edee | v0.3.3-v2.5.2-relayer |
v1.1.1 | v3.1.0 | v2.2.0-83b008cc | 0.1.0-7986b060 | v0.3.3-v2.5.2-relayer |
v1.2.0 | v3.1.0-afd8254a | v2.2.0-b91ce47f | 0.1.0-7986b060 | v0.3.3-v2.5.2-relayer |
main | main | main | main | main-dym |
- TestDelayedAck
- TestEIBC
- TestPFM
- TestGenesisBridge
- TestERC20
- TestSequencer
- TestHubInvariants
- TestRollappUpgrade
- TestRollappHardfork
Clone the repository:
git clone https://github.com/dymensionxyz/e2e-tests.git
cd e2e-tests
To run the E2E tests, you can use the provided Makefile. Here are some example:
make e2e-test-ibc-success-evm
Optional:
- If you want to keep the containers after running
export KEEP_CONTAINERS="true"
- If you want to use a custom image for the chains
export DYMENSION_CI="ghcr.io/dymensionxyz/dymension:debug"
export ROLLAPP_WASM_CI="ghcr.io/dymensionxyz/rollapp-wasm:debug"
export ROLLAPP_EVM_CI="ghcr.io/dymensionxyz/rollapp-evm:debug"
export RELAYER_CI="ghcr.io/dymensionxyz/relayer:debug"
To run the Live-tests, please make sure you have chain binary (ex: Hub, Rollapp, Gaia, TIA, ...) installed. Then simply execute commands defined in the Makefile.
make e2e-live-test-ibc-transfer-success
We welcome contributions to this repository. If you would like to add more test cases or improve existing ones, please feel free to fork this repository, make your changes, and submit a pull request.