End-to-end testing for Lumera blockchain using interchaintest.
This test suite provides:
- ICA (Interchain Accounts) testing between Osmosis and Lumera
- Genesis configuration testing for Lumera
- Local Docker image support for testing unreleased changes
# From the interchaintest directory
./build-docker.sh
# Or use make
make build-dockerThis builds lumerad-local:latest using Lumerad binaries downloaded from github.
# All tests with local image
make test-local
# Genesis only with local image
make test-genesis-local
# ICA only with local image
make test-ica-local
# Build + test in one step
make full-testAll tests will:
- Start a Lumera chain with modified genesis
- Verify all genesis modifications are correct
- Check that claims.csv is present (if available)
The test suite automatically modifies genesis:
- Denoms:
bond_denomandmint_denomset toulume - ICA host: Enabled with all message types allowed
- Crisis module: Removed (not present since v1.10.x)
- NFT module: Removed (unsupported)
- Consensus params: Configured via x/consensus module
| Variable | Default | Description |
|---|---|---|
USE_LOCAL_IMAGE |
false |
Use locally built Docker image |
LUMERA_VERSION |
v1.10.1 |
Lumera version to test (overridable in Makefile) |
IMAGE_NAME |
lumerad-local |
Local Docker image name |
IMAGE_TAG |
local |
Local Docker image tag |
interchaintest/
├── chain_config.go # Chain configuration
├── ica_test.go # ICA e2e tests
├── genesis_test.go # Genesis verification tests
├── Dockerfile # Lumerad Docker image
├── build-docker.sh # Build script
├── Makefile # Convenience commands
└── README.md # This file# Show all available targets
make help
# Build local Docker image
make build-docker
# Run all tests
make test
make test-local # with local image
# Genesis tests
make test-genesis
make test-genesis-local
# ICA tests
make test-ica
make test-ica-local
# Build + test
make full-test
# Cleanup
make clean-docker# Rebuild from scratch
make clean-docker build-docker# Test genesis modifications without full ICA flow
make test-genesisThe entrypoint script in the Docker image automatically copies claims.csv from /tmp/claims.csv to $HOME/.lumera/config/claims.csv when the container starts.
To verify:
# Build image
./build-docker.sh
# Test manually
docker run --rm lumerad-local:local ls -la /home/lumera/.lumera/config/# Ensure both chains start correctly
make test-genesis
# Check logs for specific errors
make test-ica 2>&1 | tee test.logWhen adding new tests:
- Update genesis modifications in
chain_config.goif needed - Add checks in
genesis_test.go - Update this README with new features