aboutsummaryrefslogtreecommitdiff
path: root/test/lint
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2020-09-01 14:22:01 +0800
committerfanquake <fanquake@gmail.com>2020-09-01 14:23:08 +0800
commite36f802fa4916586b53a989c0848389ad838b846 (patch)
tree59b28643fd8a9e27636b1efc1499637aca0a5e32 /test/lint
parentc4be50fea31e85f0e7151ed5ecaba531f6f929db (diff)
downloadbitcoin-e36f802fa4916586b53a989c0848389ad838b846.tar.xz
lint: add C++ code linter
This currently only checks for boost::bind usage. Co-authored-by: practicalswift <practicalswift@users.noreply.github.com>
Diffstat (limited to 'test/lint')
-rwxr-xr-xtest/lint/lint-cpp.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lint/lint-cpp.sh b/test/lint/lint-cpp.sh
new file mode 100755
index 0000000000..cac57b968d
--- /dev/null
+++ b/test/lint/lint-cpp.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2020 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 for various C++ code patterns we want to avoid.
+
+export LC_ALL=C
+
+EXIT_CODE=0
+
+OUTPUT=$(git grep -E "boost::bind\(" -- "*.cpp" "*.h")
+if [[ ${OUTPUT} != "" ]]; then
+ echo "Use of boost::bind detected. Use std::bind instead."
+ echo
+ echo "${OUTPUT}"
+ EXIT_CODE=1
+fi
+
+exit ${EXIT_CODE} \ No newline at end of file