[logging] add lint-logs.sh to check for newline termination.

Check that all calls to LogPrintf() are terminated by a newline,
except those that are explicitly marked as 'continued' logs.
This commit is contained in:
John Newbery 2018-04-05 10:18:26 -04:00
parent 5c21e6c6d3
commit d207207fd3

25
contrib/devtools/lint-logs.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
#
# Copyright (c) 2018 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
UNTERMINATED_LOGS=$(git grep "LogPrintf(" -- "*.cpp" | \
grep -v '\\n"' | \
grep -v "/\* Continued \*/" | \
grep -v "LogPrintf()")
if [[ ${UNTERMINATED_LOGS} != "" ]]; then
echo "All calls to LogPrintf() should be terminated with \\n"
echo
echo "${UNTERMINATED_LOGS}"
exit 1
fi