dash/test/lint
MarcoFalke dbfa92990a
Merge #21096: Re-add dead code detection
3f8776a1391c3978ed66144df15fd9bcb9edd35d Re-add dead code detection (flack)

Pull request description:

  This re-adds unreachable code detection for Python based on `vulture`.

  Effectively, this reverts f4beb4996d27f2cdaf4f0a63e7dc044bf17decce. The difference to the previous version is that this runs with the `--min-confidence 100` setting. From https://pypi.org/project/vulture/:

  > Use `--min-confidence 100` to only report code that is guaranteed to be unused within the analyzed files.

  So this should avoid the previous issues where static analysis had wrong positives due to the dynamic nature of Python code by only reporting things that are unambiguous (such as code after a `return` statement). As such, there is not suppressions list.

  My motivation was mainly #21081 which would have been caught by this (as can be seen by the CI run failing). This is still marked as draft because #21081 is needed to get the linter to pass. Also, there is a second problem that this found (see https://github.com/bitcoin/bitcoin/pull/19509/files#r571454691). From what I can tell, this is a spurious type comment that could just be removed (or if that line has no side effects it could also be deleted altogether?). I could add a commit here to fix it, but I wanted to see if there is interest in having this linter again in the first place

ACKs for top commit:
  practicalswift:
    ACK 3f8776a1391c3978ed66144df15fd9bcb9edd35d

Tree-SHA512: 52314ad4f627d969de1eb15375ca677ed86a2e816fe773756a1ce22421214ba407b5a09a4bf701a3aab1a10c7b336f548e4cef3327edf154acba55e987db21f6
2021-10-05 20:34:00 +03:00
..
check-doc.py Merge #15920: lint: Check that all wallet args are hidden 2021-09-12 14:15:09 -04:00
check-rpc-mappings.py Merge #13707: tests: Add usage note to check-rpc-mappings.py 2021-06-15 13:15:26 -04:00
commit-script-check.sh Merge #20069: test: Mention commit id in scripted diff error 2021-09-24 13:26:38 -04:00
git-subtree-check.sh Merge #17329: linter: Strip trailing / in path for git-subtree-check 2021-07-13 20:43:16 -05:00
lint-all.sh Merge #16036: travis: Run all lint scripts even if one fails 2021-07-10 12:10:51 -05:00
lint-assertions.sh Merge #14088: tests: Don't assert(...) with side effects 2021-07-01 16:33:23 -05:00
lint-circular-dependencies.sh refactor: remove redundant filename prefixes for Dash-specific logic (#4475) 2021-10-01 22:19:08 +03:00
lint-cpp.sh partial merge bitcoin#19844: lint: add C++ code linter 2021-08-21 15:33:37 -05:00
lint-cppcheck-dash.sh refactor: Various small improvements (#4471) 2021-10-01 14:44:40 +03:00
lint-filenames.sh Merge #13510: Scripts and tools: Obsolete #!/bin/bash shebang 2020-12-18 12:55:45 -06:00
lint-format-strings.py merge #14954: Require python 3.5 2021-08-31 11:16:12 +05:30
lint-format-strings.sh Fix warnings introduced in shellcheck v0.6.0 (Partial Merge: #15166) 2020-07-29 11:02:55 -05:00
lint-git-commit-check.sh Fix lint-git-commit-check.sh (#4267) 2021-07-19 12:32:12 +03:00
lint-include-guards.sh partial merge #17398: Update leveldb to 1.22+ (#4230) 2021-07-15 15:42:55 -05:00
lint-includes.sh partial Merge #18234: refactor: Replace boost::mutex,condition_var,chrono with std equivalents in scheduler 2021-09-28 19:42:22 -04:00
lint-locale-dependence.sh Replace locale-specific functions in Dash-specific code 2021-09-09 11:37:36 -07:00
lint-logs.sh Merge #13510: Scripts and tools: Obsolete #!/bin/bash shebang 2020-12-18 12:55:45 -06:00
lint-python-dead-code.sh Merge #21096: Re-add dead code detection 2021-10-05 20:34:00 +03:00
lint-python-utf8-encoding.sh partial merge #17398: Update leveldb to 1.22+ (#4230) 2021-07-15 15:42:55 -05:00
lint-python.sh Merge #17353: doc: Add ShellCheck to lint tests dependencies 2021-09-15 13:54:40 -04:00
lint-qt.sh Merge #13529: Use new Qt5 connect syntax 2021-08-23 12:12:31 -04:00
lint-shebang.sh Partial Merge #14831: Scripts and tools: Use #!/usr/bin/env bash instead of #!/bin/bash. 2021-08-15 11:08:08 -04:00
lint-shell-locale.sh Partial merge #13863: travis: move script sections to files in .travis/ subject to shellcheck 2021-07-08 13:09:43 -04:00
lint-shell.sh Merge #15166: qa: Pin shellcheck version 2021-10-05 20:33:59 +03:00
lint-spelling.ignore-words.txt Merge #16186: doc/lint: Fix spelling errors identified by codespell 1.15.0 2021-10-05 20:34:00 +03:00
lint-spelling.sh Merge #16767: test: Check for codespell in lint-spelling.sh 2021-08-11 13:58:48 -04:00
lint-submodule.sh Merge #18056: ci: Check for submodules 2021-07-13 21:17:15 -05:00
lint-tests.sh Merge #13510: Scripts and tools: Obsolete #!/bin/bash shebang 2020-12-18 12:55:45 -06:00
lint-whitespace.sh Merge #15216: Scripts and tools: Replace script name with a special parameter 2021-09-13 10:31:44 -04:00
README.md partial merge #17398: Update leveldb to 1.22+ (#4230) 2021-07-15 15:42:55 -05:00

This folder contains lint scripts.

check-doc.py

Check for missing documentation of command line options.

commit-script-check.sh

Verification of scripted diffs.

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.

To use, make sure that you have fetched the upstream repository branch in which the subtree is maintained:

Usage: git-subtree-check.sh DIR (COMMIT)

COMMIT may be omitted, in which case HEAD is used.

lint-all.sh

Calls other scripts with the lint- prefix.