aboutsummaryrefslogtreecommitdiff
path: root/test/lint
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2018-06-12 21:58:58 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2018-06-14 22:40:41 +0200
commitad691f666b2524b983ffc204dfabfef927b9a471 (patch)
treea8634da3a253749a605a9ba807ef73c55622bbdc /test/lint
parentcc7cbd756acd79623230f7a1b0b0e40c772a82e1 (diff)
Add linter: Enforce the source code file naming convention described in the developer notes
Diffstat (limited to 'test/lint')
-rwxr-xr-xtest/lint/lint-filenames.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lint/lint-filenames.sh b/test/lint/lint-filenames.sh
new file mode 100755
index 0000000000..61e978fe79
--- /dev/null
+++ b/test/lint/lint-filenames.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright (c) 2018 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#
+# Make sure only lowercase alphanumerics (a-z0-9), underscores (_),
+# hyphens (-) and dots (.) are used in source code filenames.
+
+export LC_ALL=C
+
+EXIT_CODE=0
+OUTPUT=$(git ls-files -- "*.cpp" "*.h" "*.py" "*.sh" | grep -vE '^[a-z0-9_./-]+$' | grep -vE 'src/(secp256k1|univalue)/')
+if [[ ${OUTPUT} != "" ]]; then
+ echo "Use only lowercase alphanumerics (a-z0-9), underscores (_), hyphens (-) and dots (.)"
+ echo "in source code filenames:"
+ echo
+ echo "${OUTPUT}"
+ EXIT_CODE=1
+fi
+exit ${EXIT_CODE}