From f39fcd1402a60c249635a812a0b1ebbfaa7647b6 Mon Sep 17 00:00:00 2001 From: fanquake Date: Thu, 28 Apr 2022 12:40:22 +0100 Subject: [PATCH] Merge bitcoin/bitcoin#24988: lint: Mention NONFATAL_UNREACHABLE in lint-assertions.py fa82a1ed833fd749849fa19267207b63e338d84d lint: Mention NONFATAL_UNREACHABLE in lint-assertions.py (MacroFake) Pull request description: Follow up to commit b1c5991eebb916755be188f355ad36fe01a3f529. Also remove empty newline added in that commit. ACKs for top commit: fanquake: ACK fa82a1ed833fd749849fa19267207b63e338d84d Tree-SHA512: cf398eceb135672137183bfa19ee57a82553a3dbcbce74db954c6fcd79f9606092cc0d8217610fe6cd67b7ef2d4f01d90329f0f568516d9b14aa2cd0f0715478 --- src/util/check.h | 1 - test/lint/lint-assertions.py | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/util/check.h b/src/util/check.h index 247d89bdb6..da257f0723 100644 --- a/src/util/check.h +++ b/src/util/check.h @@ -30,7 +30,6 @@ T&& inline_check_non_fatal(T&& val, const char* file, int line, const char* func throw NonFatalCheckError( format_internal_error(assertion, file, line, func, PACKAGE_BUGREPORT)); } - return std::forward(val); } diff --git a/test/lint/lint-assertions.py b/test/lint/lint-assertions.py index a8d2b3927c..195ff33d11 100755 --- a/test/lint/lint-assertions.py +++ b/test/lint/lint-assertions.py @@ -30,20 +30,20 @@ def main(): r"[^_]assert\(.*(\+\+|\-\-|[^=!<>]=[^=!<>]).*\);", "--", "*.cpp", - "*.h" + "*.h", ], "Assertions should not have side effects:") - # Macro CHECK_NONFATAL(condition) should be used instead of assert for RPC code, where it - # is undesirable to crash the whole program. See: src/util/check.h + # Aborting the whole process is undesirable for RPC code. So nonfatal + # checks should be used over assert. See: src/util/check.h # src/rpc/server.cpp is excluded from this check since it's mostly meta-code. exit_code |= git_grep([ "-nE", - r"\<(A|a)ssert *\(.*\);", + r"\<(A|a)ss(ume|ert) *\(.*\);", "--", "src/rpc/", "src/wallet/rpc*", - ":(exclude)src/rpc/server.cpp" - ], "CHECK_NONFATAL(condition) should be used instead of assert for RPC code.") + ":(exclude)src/rpc/server.cpp", + ], "CHECK_NONFATAL(condition) or NONFATAL_UNREACHABLE should be used instead of assert for RPC code.") sys.exit(exit_code)