You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bitcoin/test/lint
fanquake 172cd92620
Merge bitcoin/bitcoin#28862: lint: Report all lint errors instead of early exit
12 months ago
..
test_runner lint: Report all lint errors instead of early exit 1 year ago
README.md Merge bitcoin/bitcoin#28076: util: Replace std::filesystem with util/fs.h 1 year ago
all-lint.py Use same Python executable for subprocesses as for all-lint.py 2 years ago
check-doc.py init: completely remove `-zapwallettxes` (remaining hidden option) 1 year ago
commit-script-check.sh scripted-diff: Bump copyright headers 2 years ago
git-subtree-check.sh
lint-assertions.py doc: Remove confusing assert linter 1 year ago
lint-circular-dependencies.py refactor: Remove unused circular include dependency from validation.cpp 1 year ago
lint-files.py test: use built-in collection types for type hints (Python 3.9 / PEP 585) 1 year ago
lint-format-strings.py tidy: Integrate bicoin-tidy clang-tidy plugin 1 year ago
lint-git-commit-check.py scripted-diff: Use new python 3.7 keywords 2 years ago
lint-include-guards.py test: use built-in collection types for type hints (Python 3.9 / PEP 585) 1 year ago
lint-includes.py [lint] update expected boost includes 1 year ago
lint-locale-dependence.py fuzz: Remove legacy int parse fuzz tests 2 years ago
lint-python-dead-code.py
lint-python-mutable-default-parameters.py scripted-diff: Use new python 3.7 keywords 2 years ago
lint-python-utf8-encoding.py lint: Ignore check_fileopens failure on **kwargs 1 year ago
lint-python.py lint: fix custom mypy cache dir setting 1 year ago
lint-qt-translation.py lint: Add `lint-qt-translation.py` 1 year ago
lint-shell-locale.py
lint-shell.py lint: Include test_utxo_snapshots in lint_shell 1 year ago
lint-spelling.py
lint-submodule.py scripted-diff: Use new python 3.7 keywords 2 years ago
lint-tests.py scripted-diff: Use new python 3.7 keywords 2 years ago
lint-whitespace.py scripted-diff: Use new python 3.7 keywords 2 years ago
run-lint-format-strings.py refactor: Enforce C-str fmt strings in WalletLogPrintf() 1 year ago
spelling.ignore-words.txt doc: fix typos 1 year ago

README.md

This folder contains lint scripts.

Running locally

To run linters locally with the same versions as the CI environment, use the included Dockerfile:

DOCKER_BUILDKIT=1 docker build -t bitcoin-linter --file "./ci/lint_imagefile" ./ && docker run --rm -v $(pwd):/bitcoin -it bitcoin-linter

Building the container can be done every time, because it is fast when the result is cached and it prevents issues when the image changes.

test runner

To run the checks in the test runner outside the docker, use:

( cd ./test/lint/test_runner/ && cargo fmt && cargo clippy && cargo run )

check-doc.py

Check for missing documentation of command line options.

commit-script-check.sh

Verification of scripted diffs. Scripted diffs are only assumed to run on the latest LTS release of Ubuntu. Running them on other operating systems might require installing GNU tools, such as GNU sed.

git-subtree-check.sh

Run this script from the root of the repository to verify that a subtree matches the contents of the commit it claims to have been updated to.

Usage: test/lint/git-subtree-check.sh [-r] DIR [COMMIT]
       test/lint/git-subtree-check.sh -?
  • DIR is the prefix within the repository to check.
  • COMMIT is the commit to check, if it is not provided, HEAD will be used.
  • -r checks that subtree commit is present in repository.

To do a full check with -r, make sure that you have fetched the upstream repository branch in which the subtree is maintained:

To do so, add the upstream repository as remote:

git remote add --fetch secp256k1 https://github.com/bitcoin-core/secp256k1.git

all-lint.py

Calls other scripts with the lint- prefix.