docs: Document lint tests

This commit is contained in:
Mason Simon 2018-07-18 18:48:12 -07:00 committed by fanquake
parent 544f323438
commit 8640631ebc
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1

View file

@ -3,17 +3,18 @@ utilities in their entirety. It does not contain unit tests, which
can be found in [/src/test](/src/test), [/src/wallet/test](/src/wallet/test),
etc.
There are currently two sets of tests in this directory:
This directory contains the following sets of tests:
- [functional](/test/functional) which test the functionality of
bitcoind and bitcoin-qt by interacting with them through the RPC and P2P
interfaces.
- [util](/test/util) which tests the bitcoin utilities, currently only
bitcoin-tx.
- [lint](/test/lint/) which perform various static analysis checks.
The util tests are run as part of `make check` target. The functional
tests are run by the travis continuous build process whenever a pull
request is opened. Both sets of tests can also be run locally.
tests and lint scripts are run by the travis continuous build process whenever a pull
request is opened. All sets of tests can also be run locally.
# Running tests locally
@ -30,7 +31,7 @@ The ZMQ functional test requires a python ZMQ library. To install it:
#### Running the tests
Individual tests can be run by directly calling the test script, eg:
Individual tests can be run by directly calling the test script, e.g.:
```
test/functional/feature_rbf.py
@ -180,6 +181,26 @@ Note: gdb attach step may require `sudo`
Util tests can be run locally by running `test/util/bitcoin-util-test.py`.
Use the `-v` option for verbose output.
### Lint tests
#### Dependencies
The lint tests require codespell and flake8. To install: `pip3 install codespell flake8`.
#### Running the tests
Individual tests can be run by directly calling the test script, e.g.:
```
test/lint/lint-filenames.sh
```
You can run all the shell-based lint tests by running:
```
test/lint/lint-all.sh
```
# Writing functional tests
You are encouraged to write functional tests for new or existing features.