mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-20 13:53:15 +02:00
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
This commit is contained in:
commit
d0f7493b6c
@ -13,7 +13,7 @@
|
|||||||
#include <compat.h> // for Windows API
|
#include <compat.h> // for Windows API
|
||||||
#include <wincrypt.h>
|
#include <wincrypt.h>
|
||||||
#endif
|
#endif
|
||||||
#include <logging.h> // for LogPrintf()
|
#include <logging.h>
|
||||||
#include <randomenv.h>
|
#include <randomenv.h>
|
||||||
#include <support/allocators/secure.h>
|
#include <support/allocators/secure.h>
|
||||||
#include <sync.h> // for Mutex
|
#include <sync.h> // for Mutex
|
||||||
|
34
test/lint/lint-logs.py
Executable file
34
test/lint/lint-logs.py
Executable file
@ -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()
|
@ -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
|
|
Loading…
x
Reference in New Issue
Block a user