mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-18 11:37:40 +02:00
Merge #16327: scripts and tools: Update ShellCheck linter
1ac454a384Enable ShellCheck rules (Hennadii Stepanov) Pull request description: Enable some simple ShellCheck rules. Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu. For local tests the latest `shellcheck` version 0.6.0 should be used (see #15166). ACKs for top commit: practicalswift: utACK1ac454a384dongcarl: utACK1ac454afanquake: ACK1ac454a384Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
This commit is contained in:
@@ -18,12 +18,12 @@ if test "x$1" = "x"; then
|
||||
fi
|
||||
|
||||
RET=0
|
||||
PREV_BRANCH=`git name-rev --name-only HEAD`
|
||||
PREV_HEAD=`git rev-parse HEAD`
|
||||
for commit in `git rev-list --reverse $1`; do
|
||||
PREV_BRANCH=$(git name-rev --name-only HEAD)
|
||||
PREV_HEAD=$(git rev-parse HEAD)
|
||||
for commit in $(git rev-list --reverse $1); do
|
||||
if git rev-list -n 1 --pretty="%s" $commit | grep -q "^scripted-diff:"; then
|
||||
git checkout --quiet $commit^ || exit
|
||||
SCRIPT="`git rev-list --format=%b -n1 $commit | sed '/^-BEGIN VERIFY SCRIPT-$/,/^-END VERIFY SCRIPT-$/{//!b};d'`"
|
||||
SCRIPT="$(git rev-list --format=%b -n1 $commit | sed '/^-BEGIN VERIFY SCRIPT-$/,/^-END VERIFY SCRIPT-$/{//!b};d')"
|
||||
if test "x$SCRIPT" = "x"; then
|
||||
echo "Error: missing script for: $commit"
|
||||
echo "Failed"
|
||||
|
||||
@@ -39,7 +39,7 @@ CIRCULAR_DEPENDENCIES=()
|
||||
|
||||
IFS=$'\n'
|
||||
for CIRC in $(cd src && ../contrib/devtools/circular-dependencies.py {*,*/*,*/*/*}.{h,cpp} | sed -e 's/^Circular dependency: //'); do
|
||||
CIRCULAR_DEPENDENCIES+=($CIRC)
|
||||
CIRCULAR_DEPENDENCIES+=( "$CIRC" )
|
||||
IS_EXPECTED_CIRC=0
|
||||
for EXPECTED_CIRC in "${EXPECTED_CIRCULAR_DEPENDENCIES[@]}"; do
|
||||
if [[ "${CIRC}" == "${EXPECTED_CIRC}" ]]; then
|
||||
|
||||
@@ -19,6 +19,7 @@ UNTERMINATED_LOGS=$(git grep --extended-regexp "LogPrintf?\(" -- "*.cpp" | \
|
||||
grep -v "LogPrint()" | \
|
||||
grep -v "LogPrintf()")
|
||||
if [[ ${UNTERMINATED_LOGS} != "" ]]; then
|
||||
# shellcheck disable=SC2028
|
||||
echo "All calls to LogPrintf() and LogPrint() should be terminated with \\n"
|
||||
echo
|
||||
echo "${UNTERMINATED_LOGS}"
|
||||
|
||||
@@ -23,25 +23,9 @@ fi
|
||||
|
||||
# Disabled warnings:
|
||||
disabled=(
|
||||
SC1087 # Use braces when expanding arrays, e.g. ${array[idx]} (or ${var}[.. to quiet).
|
||||
SC2001 # See if you can use ${variable//search/replace} instead.
|
||||
SC2004 # $/${} is unnecessary on arithmetic variables.
|
||||
SC2005 # Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.
|
||||
SC2006 # Use $(..) instead of legacy `..`.
|
||||
SC2016 # Expressions don't expand in single quotes, use double quotes for that.
|
||||
SC2028 # echo won't expand escape sequences. Consider printf.
|
||||
SC2046 # Quote this to prevent word splitting.
|
||||
SC2048 # Use "$@" (with quotes) to prevent whitespace problems.
|
||||
SC2066 # Since you double quoted this, it will not word split, and the loop will only run once.
|
||||
SC2086 # Double quote to prevent globbing and word splitting.
|
||||
SC2116 # Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'.
|
||||
SC2162 # read without -r will mangle backslashes.
|
||||
SC2166 # Prefer [ p ] {&&,||} [ q ] as [ p -{a,o} q ] is not well defined.
|
||||
SC2181 # Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
|
||||
SC2206 # Quote to prevent word splitting, or split robustly with mapfile or read -a.
|
||||
SC2207 # Prefer mapfile or read -a to split command output (or quote to avoid splitting).
|
||||
SC2230 # which is non-standard. Use builtin 'command -v' instead.
|
||||
SC2236 # Don't force -n instead of ! -z.
|
||||
)
|
||||
shellcheck -e "$(IFS=","; echo "${disabled[*]}")" \
|
||||
$(git ls-files -- "*.sh" | grep -vE 'src/(secp256k1|univalue)/')
|
||||
|
||||
Reference in New Issue
Block a user