2022-04-14 02:43:31 +02:00
|
|
|
#!/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():
|
2022-05-25 18:26:54 +02:00
|
|
|
logs_list = check_output(["git", "grep", "--extended-regexp", r"(LogPrintLevel|LogPrintfCategory|LogPrintf?)\(", "--", "*.cpp"], universal_newlines=True, encoding="utf8").splitlines()
|
2022-04-14 02:43:31 +02:00
|
|
|
|
|
|
|
unterminated_logs = [line for line in logs_list if not re.search(r'(\\n"|/\* Continued \*/)', line)]
|
|
|
|
|
|
|
|
if unterminated_logs != []:
|
2022-05-25 18:26:54 +02:00
|
|
|
print("All calls to LogPrintf(), LogPrintfCategory(), LogPrint(), LogPrintLevel(), and WalletLogPrintf() should be terminated with \"\\n\".")
|
2022-04-14 02:43:31 +02:00
|
|
|
print("")
|
|
|
|
|
|
|
|
for line in unterminated_logs:
|
|
|
|
print(line)
|
|
|
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|