dash/test/lint
Wladimir J. van der Laan 9b8884b430
partial Merge #18234: refactor: Replace boost::mutex,condition_var,chrono with std equivalents in scheduler
This backport does not include changes that depend on bitcoin pr 18037

70a6b529f306ff72ea1badf25e970a92b2b17ab3 lint-cppcheck: Remove -DHAVE_WORKING_BOOST_SLEEP_FOR (Anthony Towns)
294937b39de5924e772f8ed90d35c53290c8acab scheduler_tests: re-enable mockforward test (Anthony Towns)
cea19f685915be8affb2203184a549576194413f Drop unused reverselock.h (Anthony Towns)
d0ebd93270758ea97ea956b8821e17a2d001ea94 scheduler: switch from boost to std (Anthony Towns)
b9c426012770d166e6ebfab27689be44e6e89aa5 sync.h: add REVERSE_LOCK (Anthony Towns)
306f71b4eb4a0fd8e64f47dc008bc235b80b13d9 scheduler: don't rely on boost interrupt on shutdown (Anthony Towns)

Pull request description:

  Replacing boost functionality with C++11 stuff.

  Motivated by #18227, but should stand alone. Changing from `boost::condition_var` to `std::condition_var` means `threadGroup.interrupt_all` isn't enough to interrupt `serviceQueue` anymore, so that means calling `stop()` before `join_all()` is needed. And the existing reverselock.h code doesn't work with sync.h's DebugLock code (because the reversed lock won't be removed from `g_lockstack` which then leads to incorrect potential deadlock warnings), so I've replaced that with a dedicated class and macro that's aware of our debug lock behaviour.

  Fixes #16027, Fixes #14200, Fixes #18227

ACKs for top commit:
  laanwj:
    ACK 70a6b529f306ff72ea1badf25e970a92b2b17ab3

Tree-SHA512: d1da13adeabcf9186d114e2dad9a4fdbe2e440f7afbccde0c13dfbaf464efcd850b69d3371c5bf8b179d7ceb9d81f4af3cc22960b90834e41eaaf6d52ef7d331

# Conflicts:
#	src/reverselock.h
#	src/rpc/misc.cpp
#	src/scheduler.cpp
#	src/scheduler.h
#	src/sync.cpp
#	src/sync.h
#	src/test/reverselock_tests.cpp
#	src/test/scheduler_tests.cpp
#	src/test/test_dash.cpp
#	test/lint/extended-lint-cppcheck.sh
2021-09-28 19:42:22 -04: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 #14864: test: Run scripted-diff in subshell 2021-08-15 11:08:08 -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 Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features from bitcoin_server (#4380) 2021-08-31 23:31:31 -04: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 lint: add dash extended cpp linter 2021-09-01 14:08:52 -04: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 #14519: tests: add utility to easily profile node performance with perf 2021-08-18 22:24:36 -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 #20359: Various config.site.in improvements and linting 2021-09-03 21:35:53 +05:30
lint-spelling.ignore-words.txt Merge #16618: [Fix] Allow connection of a noban banned peer 2021-07-19 19:00:04 -05: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.