diff options
author | MarcoFalke <falke.marco@gmail.com> | 2022-04-04 18:23:10 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2022-04-04 18:23:16 +0200 |
commit | d0f7493b6c804c04407fecfdfad3d7489fdcf30c (patch) | |
tree | 8b211604f280119bae36a5208d7daffc71cba80a | |
parent | b69fd5eaa99f84b62a49d7c7f48d8cee1227592a (diff) | |
parent | e9d277131ca346cfd6120c7ef73623d20d1df6f8 (diff) |
Merge bitcoin/bitcoin#24849: lint: Convert lint-logs.sh to Python
e9d277131ca346cfd6120c7ef73623d20d1df6f8 lint: Convert lint-logs.sh to Python (Dimitri)
Pull request description:
A port of `/test/lint/lint-logs.sh` to a Python-script as part of the request of #24783 . Checked for output-consistency.
Removed all non-explicit exceptions (i.e. `...`, `LogPrint()`, and `LogPrintf()`) because they weren't needed anymore, except for one single case in a comment in `/src/random.cpp` which I removed because it was quite useless anyway (the comment, not the file).
ACKs for top commit:
laanwj:
Code review ACK e9d277131ca346cfd6120c7ef73623d20d1df6f8
Tree-SHA512: ae4d2a341a13ccd9f40e8fcde35e1f392d9995131be005b809cbf8f283f28a7c34ea3cf9c13d3564d13809ae3f5889260fa5d6302370dc79c3226389974d947c
-rw-r--r-- | src/random.cpp | 2 | ||||
-rwxr-xr-x | test/lint/lint-logs.py | 34 | ||||
-rwxr-xr-x | test/lint/lint-logs.sh | 28 |
3 files changed, 35 insertions, 29 deletions
diff --git a/src/random.cpp b/src/random.cpp index b862510524..77d2ae4d43 100644 --- a/src/random.cpp +++ b/src/random.cpp @@ -13,7 +13,7 @@ #include <compat.h> // for Windows API #include <wincrypt.h> #endif -#include <logging.h> // for LogPrintf() +#include <logging.h> #include <randomenv.h> #include <support/allocators/secure.h> #include <sync.h> // for Mutex diff --git a/test/lint/lint-logs.py b/test/lint/lint-logs.py new file mode 100755 index 0000000000..e6c4c068fb --- /dev/null +++ b/test/lint/lint-logs.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2018-2022 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +# +# Check that all logs are terminated with '\n' +# +# Some logs are continued over multiple lines. They should be explicitly +# commented with /* Continued */ + +import re +import sys + +from subprocess import check_output + + +def main(): + logs_list = check_output(["git", "grep", "--extended-regexp", r"LogPrintf?\(", "--", "*.cpp"], universal_newlines=True, encoding="utf8").splitlines() + + unterminated_logs = [line for line in logs_list if not re.search(r'(\\n"|/\* Continued \*/)', line)] + + if unterminated_logs != []: + print("All calls to LogPrintf() and LogPrint() should be terminated with \\n") + print("") + + for line in unterminated_logs: + print(line) + + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/test/lint/lint-logs.sh b/test/lint/lint-logs.sh deleted file mode 100755 index 6d5165f649..0000000000 --- a/test/lint/lint-logs.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) 2018-2021 The Bitcoin Core developers -# Distributed under the MIT software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. -# -# Check that all logs are terminated with '\n' -# -# Some logs are continued over multiple lines. They should be explicitly -# commented with /* Continued */ -# -# There are some instances of LogPrintf() in comments. Those can be -# ignored - -export LC_ALL=C -UNTERMINATED_LOGS=$(git grep --extended-regexp "LogPrintf?\(" -- "*.cpp" | \ - grep -v '\\n"' | \ - grep -v '\.\.\.' | \ - grep -v "/\* Continued \*/" | \ - 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}" - exit 1 -fi |