Merge bitcoin/bitcoin#27632: Raise on invalid -debug and -loglevel config options

daa5a658c0 refactor: rename BCLog::BLOCKSTORE to BLOCKSTORAGE (Jon Atack)
cf622b214b doc: release note re raising on invalid -debug/debugexclude/loglevel (Jon Atack)
6cb1c66041 init: remove config option names from translated -loglevel strings (Jon Atack)
2547829272 test: -loglevel raises on invalid values (Jon Atack)
a9c295888b init: raise on invalid loglevel config option (Jon Atack)
b0c3995393 test: -debug and -debugexclude raise on invalid values (Jon Atack)
4c3c19d943 init: raise on invalid debug/debugexclude config options (Jon Atack)

Pull request description:

  and rename BCLog::BLOCKSTORE to BLOCKSTORAGE so the enum is the same as its value like the other BCLog enums.

  Per discussion in bitcoin-core-dev IRC today from https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2023-05-11#921458.

ACKs for top commit:
  achow101:
    ACK daa5a658c0
  ryanofsky:
    Code review ACK daa5a658c0. Just translated string template cleanup since last review
  pinheadmz:
    re-ACK daa5a658c0

Tree-SHA512: 4c107a93d8e8ce4e2ee81d44aec672526ca354ec390b241221067f68204beac8b4ba7a65748bcfa124ff2245c4307fa9243ec4fe0b464d0fa69c787fb322c3cc
This commit is contained in:
Andrew Chow
2023-06-20 13:41:26 -04:00
9 changed files with 67 additions and 18 deletions

View File

@ -69,6 +69,36 @@ class LoggingTest(BitcoinTestFramework):
# just sanity check no crash here
self.restart_node(0, [f"-debuglogfile={os.devnull}"])
self.log.info("Test -debug and -debugexclude raise when invalid values are passed")
self.stop_node(0)
self.nodes[0].assert_start_raises_init_error(
extra_args=["-debug=abc"],
expected_msg="Error: Unsupported logging category -debug=abc.",
match=ErrorMatch.FULL_REGEX,
)
self.nodes[0].assert_start_raises_init_error(
extra_args=["-debugexclude=abc"],
expected_msg="Error: Unsupported logging category -debugexclude=abc.",
match=ErrorMatch.FULL_REGEX,
)
self.log.info("Test -loglevel raises when invalid values are passed")
self.nodes[0].assert_start_raises_init_error(
extra_args=["-loglevel=abc"],
expected_msg="Error: Unsupported global logging level -loglevel=abc. Valid values: info, debug, trace.",
match=ErrorMatch.FULL_REGEX,
)
self.nodes[0].assert_start_raises_init_error(
extra_args=["-loglevel=net:abc"],
expected_msg="Error: Unsupported category-specific logging level -loglevel=net:abc.",
match=ErrorMatch.PARTIAL_REGEX,
)
self.nodes[0].assert_start_raises_init_error(
extra_args=["-loglevel=net:info:abc"],
expected_msg="Error: Unsupported category-specific logging level -loglevel=net:info:abc.",
match=ErrorMatch.PARTIAL_REGEX,
)
if __name__ == '__main__':
LoggingTest().main()