These tests are implemented in Python and can be executed either using the Speculos emulator or a Ledger Nano S/X.
All the commands in this folder are meant to be ran from the tests
folder, not from the root.
Python dependencies are listed in requirements.txt, install them using pip
pip install -r requirements.txt
Some tests require the bitcoind 22.0
binary to be in the $PATH
variable, or alternatively to be set as the BITCOIND
environment variable in the shell running the tests:
export BITCOIND=/path/to/my/bitcoind
Build the app as normal from the root folder. For convenience, you probably want to enable DEBUG:
DEBUG=1 make
Then run all the tests from this folder with:
pytest
Compile and install the app on your device as normal.
To run the tests on your Ledger Nano S/X you also need to install an optional dependency
pip install ledgercomm[hid]
Be sure to have you device connected through USB (without any other software interacting with it) and run
pytest --hid
Please note that tests that require an automation file are meant for speculos, and will currently hang the test suite.