Tests overview
Tool | Usage |
---|---|
unit tests |
|
functional tests |
|
lint checks | See the documentation |
fuzz | See the documentation |
util tests |
|
Bitcoin Core is also introducing (functional) "stress tests" which challenge the program via interruptions and missing files to ensure that we fail gracefully, e.g. the tests introduced in PR#23289.
Test directory structure
The following diagram gives a brief overview of how the tests are structured within the source directory.
This diagram is not exhaustive and includes simplifications. |
dashed lines indicate optional components |
The fuzz_targets themselves are located in the test folder, however the fuzz tests are run via the test_runner in src/test so we point fuzz to there. |
qa_assets are found in a separate repo altogether, as they are quite large (~3.5GB repo size and ~13.4GB on clone). |
Figure 1. Test directory Structure
Test coverage
Bitcoin Core’s test coverage reports can be found here.