Page MenuHomePhabricator

[Linter] Check the log prints are terminated with a newline
ClosedPublic

Authored by Fabien on Sep 5 2019, 13:21.

Details

Summary

This will detect the log prints missing a newline, avoiding the logs to
become unreadable.
Under some circumstances there is a need for a non newline terminated
log. In this case the aliases macros LogPrintToBeContinued() and
LogPrintfToBeContinued() can be used instead to make the intent
explicit. Core uses an inline comment (/* Continuated */) for the same
purpose which would cause issues with clang-format if the line ends up
being too long.

Backport of core PR12891 and PR13153
https://github.com/bitcoin/bitcoin/pull/12891/files
https://github.com/bitcoin/bitcoin/pull/13153/files

Note that one of the fix in net_processing.cpp doesn't exist in Core
due to PR12218. However this PR is not appropriated for our codebase.

Test Plan

Should return no error:

arc lint --everything

Edit any file to remove the \n at the end of a LogPrint() or
LogPrintf() message and check the linter catches it.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Sep 8 2019, 14:03