dash/test/lint
Konstantin Akimov 4becf980fa
refactor: remove circular dependencies through net_processing (2/N) (#5792)
## Issue being fixed or feature implemented
The architecture of bitcoin assumes that there's no any external class
that processes network messages and knows anything about PeerManager
from net_processing; no any external call for PeerManager::Misbehaving
in bitcoin. All logic related to processing messages are located in
net_processing.

Dash has many many extra types of network messages and many of them
processed by external components such as llmq/signing or
coinjoin/client. Current architecture creates multiple circular
dependency.


## What was done?
That's part II of refactorings.
This PR removes PeerManager from several constructor and let LLMQContext
to forget about PeerManager.
Prior work in this PR: https://github.com/dashpay/dash/pull/5782

## What else to do?

Some network messages are processed asynchronously in external
components such as llmq/signing, llmq/instantsend,
llmq/dkgsessionhandler. It doesn't let to refactor them easily, because
they can't just simple return status of processing; status of processing
would be available sometime later and there's need callback or other way
to pass result code without spreading PeerManager over codebase.


## How Has This Been Tested?
 - Run unit/functional tests
 - run a linter test/lint/lint-circular-dependencies.sh

## Breaking Changes
N/A

## Checklist:
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone
2024-02-14 12:32:54 -06:00
..
check-doc.py merge bitcoin#19671: Remove -zapwallettxes 2022-05-13 18:06:06 +05:30
check-rpc-mappings.py Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
commit-script-check.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
extended-lint-all.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
extended-lint-cppcheck.sh feat: new util class expected for return errors by more convenient way 2024-01-10 15:12:05 -06:00
git-subtree-check.sh Merge #20567: test: Add option to git-subtree-check to do full check, add help 2023-12-06 11:40:14 -06:00
lint-all.sh Optimize linters (#4637) 2021-12-30 19:34:36 +03:00
lint-assertions.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
lint-circular-dependencies.sh refactor: remove circular dependencies through net_processing (2/N) (#5792) 2024-02-14 12:32:54 -06:00
lint-cppcheck-dash.sh refactor: remove some now unneeded cppcheck suppressions (#5589) 2023-09-29 07:53:22 -05:00
lint-filenames.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
lint-format-strings.py Merge #16688: log: Add validation interface logging 2023-05-24 12:43:57 -05:00
lint-format-strings.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
lint-git-commit-check.sh Merge #20071: ci, lint: Remove usage of TRAVIS_COMMIT_RANGE 2024-01-27 22:44:49 -06:00
lint-include-guards.sh feat: new util class expected for return errors by more convenient way 2024-01-10 15:12:05 -06:00
lint-includes.sh Merge #15382: util: add RunCommandParseJSON 2024-02-01 09:22:03 -06:00
lint-locale-dependence.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
lint-logs.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
lint-python-dead-code.sh Merge #21096: Re-add dead code detection 2021-10-05 20:34:00 +03:00
lint-python-mutable-default-parameters.py Merge bitcoin/bitcoin#24800: lint: convert lint-python-mutable-default-parameters.sh to Python 2024-01-02 11:17:47 -06:00
lint-python-utf8-encoding.sh partial bitcoin#27445: Update src/secp256k1 subtree to release v0.3.1 2023-11-21 07:59:03 -06:00
lint-python.sh Merge #20346: script: modify security-check.py to use "==" instead of "is" for literal comparison 2024-01-16 07:57:32 -06:00
lint-rpc-help.sh Merge bitcoin#14726: Use RPCHelpMan for all RPCs (#4492) 2021-10-12 00:55:23 +03:00
lint-shebang.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
lint-shell-locale.sh build/depends: commit dashpay/bls-signatures@66ee820f to source tree as vendored (#5077) 2022-11-22 11:34:46 -06:00
lint-shell.sh Merge bitcoin/bitcoin#22418: release: Remove gitian 2023-12-06 12:40:58 -06:00
lint-spelling.ignore-words.txt partial Merge #18027: "PSBT Operations" dialog 2024-01-31 11:32:22 -06:00
lint-spelling.sh feat: new util class expected for return errors by more convenient way 2024-01-10 15:12:05 -06:00
lint-submodule.py Merge bitcoin/bitcoin#24803: lint: convert submodule linter test to Python 2024-01-13 19:32:31 -06:00
lint-tests.py Merge bitcoin/bitcoin#24815: lint: convert lint-tests.sh to python 2024-01-13 19:32:31 -06:00
lint-whitespace.sh Merge #20071: ci, lint: Remove usage of TRAVIS_COMMIT_RANGE 2024-01-27 22:44:49 -06:00
README.md Merge #20567: test: Add option to git-subtree-check to do full check, add help 2023-12-06 11:40:14 -06: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. 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

lint-all.sh

Calls other scripts with the lint- prefix.