From 44070670c798d2cde2824f3150b2b11bf35c6319 Mon Sep 17 00:00:00 2001 From: Emma Foley Date: Thu, 2 Nov 2017 16:50:14 +0000 Subject: 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 --- tools/coding-checks.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 tools/coding-checks.sh (limited to 'tools/coding-checks.sh') 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 [] 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 -- cgit 1.2.3-korg