aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2018-10-04 22:54:07 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2018-11-07 18:09:14 +0100
commitc82190cdb615caf589d2401cc1ae52ba40eba1a1 (patch)
treea16473e5a99202740de0aad3f3d0b8ff85a165ff
parent590a57fdecc2eb2e8208d82e491d09a1986e4f0e (diff)
tests: Add Python dead code linter (vulture)
-rwxr-xr-x.travis/lint_04_install.sh1
-rwxr-xr-xtest/lint/lint-python-dead-code.sh19
2 files changed, 20 insertions, 0 deletions
diff --git a/.travis/lint_04_install.sh b/.travis/lint_04_install.sh
index 8c3a9124b9..723e7c56f1 100755
--- a/.travis/lint_04_install.sh
+++ b/.travis/lint_04_install.sh
@@ -8,3 +8,4 @@ export LC_ALL=C
travis_retry pip install codespell==1.13.0
travis_retry pip install flake8==3.5.0
+travis_retry pip install vulture==0.29
diff --git a/test/lint/lint-python-dead-code.sh b/test/lint/lint-python-dead-code.sh
new file mode 100755
index 0000000000..3341f794f9
--- /dev/null
+++ b/test/lint/lint-python-dead-code.sh
@@ -0,0 +1,19 @@
+#!/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.
+#
+# Find dead Python code.
+
+export LC_ALL=C
+
+if ! command -v vulture > /dev/null; then
+ echo "Skipping Python dead code linting since vulture is not installed. Install by running \"pip3 install vulture\""
+ exit 0
+fi
+
+vulture \
+ --min-confidence 60 \
+ --ignore-names "argtypes,connection_lost,connection_made,converter,data_received,daemon,errcheck,get_ecdh_key,get_privkey,is_compressed,is_fullyvalid,msg_generic,on_*,optionxform,restype,set_privkey" \
+ $(git ls-files -- "*.py" ":(exclude)contrib/")