summaryrefslogtreecommitdiffstats
path: root/tools/coding-checks.sh
diff options
context:
space:
mode:
authorEmma Foley <emma.l.foley@intel.com>2017-11-02 16:50:14 +0000
committerEmma Foley <emma.l.foley@intel.com>2017-11-17 17:18:30 +0000
commit44070670c798d2cde2824f3150b2b11bf35c6319 (patch)
tree5349fca98fa3a01ddd3f50f49847e0ced1c37528 /tools/coding-checks.sh
parentb22b09d3e58bc01105165434a1220f581d6ab31b (diff)
Tox: add a pep8 target
Adds a pep8, pep8-full targets to tox: * pep8 target: runs pylint on the changed files * pep8-full target: runs pylint on whole repo Adds scripts to run pylint: * stored in tools/ Documentation: changeed the command for running tests (run_tests.sh -> tox). This runs the same set of tests as before. JIRA: YARDSTICK-832 Change-Id: I652da87723682d958f3fcbc2eb4cd88422636a3b Signed-off-by: Emma Foley <emma.l.foley@intel.com>
Diffstat (limited to 'tools/coding-checks.sh')
-rw-r--r--tools/coding-checks.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/tools/coding-checks.sh b/tools/coding-checks.sh
new file mode 100644
index 000000000..4ee909988
--- /dev/null
+++ b/tools/coding-checks.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+# source: https://github.com/openstack/neutron/blob/master/tools/coding-checks.sh
+
+set -eu
+
+usage () {
+ echo "Usage: $0 [OPTION]..."
+ echo "Run Yardstick's coding check(s)"
+ echo ""
+ echo " -Y, --pylint [<basecommit>] Run pylint check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)"
+ echo " -h, --help Print this usage message"
+ echo
+ exit 0
+}
+
+process_options () {
+ i=1
+ while [ $i -le $# ]; do
+ eval opt=\$$i
+ case $opt in
+ -h|--help) usage;;
+ -Y|--pylint) pylint=1;;
+ *) scriptargs="$scriptargs $opt"
+ esac
+ i=$((i+1))
+ done
+}
+
+run_pylint () {
+ local target="${scriptargs:-all}"
+
+ if [ "$target" = "all" ]; then
+ files="ansible api tests yardstick"
+ else
+ case "$target" in
+ *HEAD*|*HEAD~[0-9]*) files=$(git diff --diff-filter=AM --name-only $target -- "*.py");;
+ *) echo "$target is an unrecognized basecommit"; exit 1;;
+ esac
+ fi
+
+ echo "Running pylint..."
+ echo "You can speed this up by running it on 'HEAD~[0-9]' (e.g. HEAD~0, this change only)..."
+ if [ -n "${files}" ]; then
+ pylint --rcfile=.pylintrc ${files}
+ else
+ echo "No python changes in this commit, pylint check not required."
+ exit 0
+ fi
+}
+
+scriptargs=
+pylint=1
+
+process_options $@
+
+if [ $pylint -eq 1 ]; then
+ run_pylint
+ exit 0
+fi