This repository contains integration tests for RGB.
- Linux OS
- Docker with its
composeplugin - Rust
Clone the project, including submodules:
git clone https://github.com/RGB-WG/rgb-integration-tests --recurse-submodulesNote: after checking out to another commit, remember to run:
git submodule updateThen, from the project root, run the integration tests by running:
cargo test--test-threads option
(e.g. cargo test -- --test-threads=8).
Test services will be automatically (re)started by the test command and will run in docker containers. If you don't have the docker images they will be automatically pulled. Note that in this case the first test execution will be slower. Also note that there's no automatic shutdown of test services, you'll need to manually remove the docker containers with:
docker compose -f tests/docker-compose.yml --profile='*' down -v --remove-orphansThe indexer used by the tests is configurable, currently esplora and electrum
are supported. You can change the indexer type by setting the INDEXER
environment variable, for example:
INDEXER=esplora cargo test # default
INDEXER=electrum cargo testIf you are developing new tests and want a faster execution, you can set
SKIP_INIT=1 to avoid restarting the test services. Please note that you
cannot switch to another indexer when using this option, you'll have to use the
same indexer type from the previous test execution.
To run the tests and generate a code coverage report run:
./tests/coverage.shThis will generate a report in target/llvm-cov/html/index.html that you can
visualize on a browser (e.g. firefox target/llvm-cov/html/index.html).
Coverage will be measured for all patched crates.
The GitHub organizations of submodule repositories are: