lint: Mention NONFATAL_UNREACHABLE in lint-assertions.py

This commit is contained in:
MacroFake
2022-04-26 10:02:08 +02:00
parent 1ae65b4c5f
commit fa82a1ed83
2 changed files with 6 additions and 7 deletions

View File

@@ -30,7 +30,6 @@ T&& inline_check_non_fatal(T&& val, const char* file, int line, const char* func
throw NonFatalCheckError( throw NonFatalCheckError(
format_internal_error(assertion, file, line, func, PACKAGE_BUGREPORT)); format_internal_error(assertion, file, line, func, PACKAGE_BUGREPORT));
} }
return std::forward<T>(val); return std::forward<T>(val);
} }

View File

@@ -30,20 +30,20 @@ def main():
r"[^_]assert\(.*(\+\+|\-\-|[^=!<>]=[^=!<>]).*\);", r"[^_]assert\(.*(\+\+|\-\-|[^=!<>]=[^=!<>]).*\);",
"--", "--",
"*.cpp", "*.cpp",
"*.h" "*.h",
], "Assertions should not have side effects:") ], "Assertions should not have side effects:")
# Macro CHECK_NONFATAL(condition) should be used instead of assert for RPC code, where it # Aborting the whole process is undesirable for RPC code. So nonfatal
# is undesirable to crash the whole program. See: src/util/check.h # 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. # src/rpc/server.cpp is excluded from this check since it's mostly meta-code.
exit_code |= git_grep([ exit_code |= git_grep([
"-nE", "-nE",
r"\<(A|a)ssert *\(.*\);", r"\<(A|a)ss(ume|ert) *\(.*\);",
"--", "--",
"src/rpc/", "src/rpc/",
"src/wallet/rpc*", "src/wallet/rpc*",
":(exclude)src/rpc/server.cpp" ":(exclude)src/rpc/server.cpp",
], "CHECK_NONFATAL(condition) should be used instead of assert for RPC code.") ], "CHECK_NONFATAL(condition) or NONFATAL_UNREACHABLE should be used instead of assert for RPC code.")
sys.exit(exit_code) sys.exit(exit_code)