Merge bitcoin/bitcoin#22861: test: Update test README and lint script

fa0937de35 test: Rename bitcoin-util-test.py to util/test_runner.py (MarcoFalke)
fa050bbc0a test: Update test README and lint script (MarcoFalke)

Pull request description:

  * Remove unused `yq`
  * Update fuzzing docs

ACKs for top commit:
  Saviour1001:
    ACK <code>[fa0937d](fa0937de35)</code>
  practicalswift:
    cr ACK fa0937de35
  fanquake:
    ACK fa0937de35

Tree-SHA512: 6b148d838e1fcf219ab92e579948e34ea7ce8b4692a3d28bb2a51aaa34cbc7cdbd79e72ce787b485fdf524e5b3521b033692583602d4e379bd160e0e41d66e28
This commit is contained in:
fanquake 2021-09-06 09:29:16 +08:00
commit 78d39f8438
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1
9 changed files with 17 additions and 12 deletions

View file

@ -51,7 +51,7 @@ after_build:
test_script: test_script:
- cmd: src\test_bitcoin.exe -l test_suite - cmd: src\test_bitcoin.exe -l test_suite
- cmd: src\bench_bitcoin.exe > NUL - cmd: src\bench_bitcoin.exe > NUL
- ps: python test\util\bitcoin-util-test.py - ps: python test\util\test_runner.py
- cmd: python test\util\rpcauth-test.py - cmd: python test\util\rpcauth-test.py
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. # Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
# functional tests disabled for now. See # functional tests disabled for now. See

View file

@ -286,7 +286,7 @@ EXTRA_DIST += \
test/fuzz test/fuzz
EXTRA_DIST += \ EXTRA_DIST += \
test/util/bitcoin-util-test.py \ test/util/test_runner.py \
test/util/data/bitcoin-util-test.json \ test/util/data/bitcoin-util-test.json \
test/util/data/blanktxv1.hex \ test/util/data/blanktxv1.hex \
test/util/data/blanktxv1.json \ test/util/data/blanktxv1.json \

View file

@ -13,7 +13,6 @@ update-alternatives --install /usr/bin/clang-format-diff clang-format-diff $(whi
${CI_RETRY_EXE} pip3 install codespell==2.0.0 ${CI_RETRY_EXE} pip3 install codespell==2.0.0
${CI_RETRY_EXE} pip3 install flake8==3.8.3 ${CI_RETRY_EXE} pip3 install flake8==3.8.3
${CI_RETRY_EXE} pip3 install yq
${CI_RETRY_EXE} pip3 install mypy==0.781 ${CI_RETRY_EXE} pip3 install mypy==0.781
${CI_RETRY_EXE} pip3 install vulture==2.3 ${CI_RETRY_EXE} pip3 install vulture==2.3

View file

@ -1874,7 +1874,7 @@ AC_CONFIG_LINKS([contrib/devtools/test-symbol-check.py:contrib/devtools/test-sym
AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py]) AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py])
AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py]) AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py])
AC_CONFIG_LINKS([test/fuzz/test_runner.py:test/fuzz/test_runner.py]) AC_CONFIG_LINKS([test/fuzz/test_runner.py:test/fuzz/test_runner.py])
AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py]) AC_CONFIG_LINKS([test/util/test_runner.py:test/util/test_runner.py])
AC_CONFIG_LINKS([test/util/rpcauth-test.py:test/util/rpcauth-test.py]) AC_CONFIG_LINKS([test/util/rpcauth-test.py:test/util/rpcauth-test.py])
dnl boost's m4 checks do something really nasty: they export these vars. As a dnl boost's m4 checks do something really nasty: they export these vars. As a

View file

@ -16,6 +16,9 @@ $ FUZZ=process_message src/test/fuzz/fuzz
# abort fuzzing using ctrl-c # abort fuzzing using ctrl-c
``` ```
There is also a runner script to execute all fuzz targets. Refer to
`./test/fuzz/test_runner.py --help` for more details.
## Fuzzing harnesses and output ## Fuzzing harnesses and output
[`process_message`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/process_message.cpp) is a fuzzing harness for the [`ProcessMessage(...)` function (`net_processing`)](https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp). The available fuzzing harnesses are found in [`src/test/fuzz/`](https://github.com/bitcoin/bitcoin/tree/master/src/test/fuzz). [`process_message`](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/process_message.cpp) is a fuzzing harness for the [`ProcessMessage(...)` function (`net_processing`)](https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp). The available fuzzing harnesses are found in [`src/test/fuzz/`](https://github.com/bitcoin/bitcoin/tree/master/src/test/fuzz).

View file

@ -337,8 +337,8 @@ bitcoin_test_clean : FORCE
check-local: $(BITCOIN_TESTS:.cpp=.cpp.test) check-local: $(BITCOIN_TESTS:.cpp=.cpp.test)
if BUILD_BITCOIN_TX if BUILD_BITCOIN_TX
@echo "Running test/util/bitcoin-util-test.py..." @echo "Running test/util/test_runner.py..."
$(PYTHON) $(top_builddir)/test/util/bitcoin-util-test.py $(PYTHON) $(top_builddir)/test/util/test_runner.py
endif endif
@echo "Running test/util/rpcauth-test.py..." @echo "Running test/util/rpcauth-test.py..."
$(PYTHON) $(top_builddir)/test/util/rpcauth-test.py $(PYTHON) $(top_builddir)/test/util/rpcauth-test.py

View file

@ -5,20 +5,24 @@ etc.
This directory contains the following sets of tests: This directory contains the following sets of tests:
- [fuzz](/test/fuzz) A runner to execute all fuzz targets from
[/src/test/fuzz](/src/test/fuzz).
- [functional](/test/functional) which test the functionality of - [functional](/test/functional) which test the functionality of
bitcoind and bitcoin-qt by interacting with them through the RPC and P2P bitcoind and bitcoin-qt by interacting with them through the RPC and P2P
interfaces. interfaces.
- [util](/test/util) which tests the bitcoin utilities, currently only - [util](/test/util) which tests the utilities (bitcoin-util, bitcoin-tx, ...).
bitcoin-tx.
- [lint](/test/lint/) which perform various static analysis checks. - [lint](/test/lint/) which perform various static analysis checks.
The util tests are run as part of `make check` target. The functional The util tests are run as part of `make check` target. The fuzz tests, functional
tests and lint scripts can be run as explained in the sections below. tests and lint scripts can be run as explained in the sections below.
# Running tests locally # Running tests locally
Before tests can be run locally, Bitcoin Core must be built. See the [building instructions](/doc#building) for help. Before tests can be run locally, Bitcoin Core must be built. See the [building instructions](/doc#building) for help.
## Fuzz tests
See [/doc/fuzzing.md](/doc/fuzzing.md)
### Functional tests ### Functional tests
@ -257,7 +261,7 @@ For ways to generate more granular profiles, see the README in
### Util tests ### Util tests
Util tests can be run locally by running `test/util/bitcoin-util-test.py`. Util tests can be run locally by running `test/util/test_runner.py`.
Use the `-v` option for verbose output. Use the `-v` option for verbose output.
### Lint tests ### Lint tests
@ -269,7 +273,6 @@ Use the `-v` option for verbose output.
| [`lint-python.sh`](lint/lint-python.sh) | [flake8](https://gitlab.com/pycqa/flake8) | [3.8.3](https://github.com/bitcoin/bitcoin/pull/19348) | `pip3 install flake8==3.8.3` | [`lint-python.sh`](lint/lint-python.sh) | [flake8](https://gitlab.com/pycqa/flake8) | [3.8.3](https://github.com/bitcoin/bitcoin/pull/19348) | `pip3 install flake8==3.8.3`
| [`lint-python.sh`](lint/lint-python.sh) | [mypy](https://github.com/python/mypy) | [0.781](https://github.com/bitcoin/bitcoin/pull/19348) | `pip3 install mypy==0.781` | [`lint-python.sh`](lint/lint-python.sh) | [mypy](https://github.com/python/mypy) | [0.781](https://github.com/bitcoin/bitcoin/pull/19348) | `pip3 install mypy==0.781`
| [`lint-shell.sh`](lint/lint-shell.sh) | [ShellCheck](https://github.com/koalaman/shellcheck) | [0.7.2](https://github.com/bitcoin/bitcoin/pull/21749) | [details...](https://github.com/koalaman/shellcheck#installing) | [`lint-shell.sh`](lint/lint-shell.sh) | [ShellCheck](https://github.com/koalaman/shellcheck) | [0.7.2](https://github.com/bitcoin/bitcoin/pull/21749) | [details...](https://github.com/koalaman/shellcheck#installing)
| [`lint-shell.sh`](lint/lint-shell.sh) | [yq](https://github.com/kislyuk/yq) | default | `pip3 install yq`
| [`lint-spelling.sh`](lint/lint-spelling.sh) | [codespell](https://github.com/codespell-project/codespell) | [2.0.0](https://github.com/bitcoin/bitcoin/pull/20817) | `pip3 install codespell==2.0.0` | [`lint-spelling.sh`](lint/lint-spelling.sh) | [codespell](https://github.com/codespell-project/codespell) | [2.0.0](https://github.com/bitcoin/bitcoin/pull/20817) | `pip3 install codespell==2.0.0`
Please be aware that on Linux distributions all dependencies are usually available as packages, but could be outdated. Please be aware that on Linux distributions all dependencies are usually available as packages, but could be outdated.

View file

@ -3,7 +3,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
# These environment variables are set by the build process and read by # These environment variables are set by the build process and read by
# test/functional/test_runner.py and test/util/bitcoin-util-test.py # test/*/test_runner.py and test/util/rpcauth-test.py
[environment] [environment]
PACKAGE_NAME=@PACKAGE_NAME@ PACKAGE_NAME=@PACKAGE_NAME@