From 095edbc3678dd9d7cc630becf098f3626fe3237d Mon Sep 17 00:00:00 2001 From: Sheel Rana Date: Thu, 12 May 2016 00:53:23 +0530 Subject: [PATCH] Pep8 environment to run on delta code only Currently tox -epep8 will run flake8 on whole code. To make this fast, flake8 support is added for only updated(delta) code. Same can be run by "tox -efast8". Change-Id: I9c55fed32ae3060c21ec278398e9e07fb4a0fe13 Implements: BP tox-pep8-diff-part-only --- tools/fast8.sh | 15 +++++++++++++++ tox.ini | 6 ++++++ 2 files changed, 21 insertions(+) create mode 100755 tools/fast8.sh diff --git a/tools/fast8.sh b/tools/fast8.sh new file mode 100755 index 0000000000..2b3e22abda --- /dev/null +++ b/tools/fast8.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +cd $(dirname "$0")/.. +CHANGED=$(git diff --name-only HEAD~1 | tr '\n' ' ') + +# Skip files that don't exist +# (have been git rm'd) +CHECK="" +for FILE in $CHANGED; do + if [ -f "$FILE" ]; then + CHECK="$CHECK $FILE" + fi +done + +diff -u --from-file /dev/null $CHECK | flake8 --diff diff --git a/tox.ini b/tox.ini index ced4dc95f5..6dfa126d1a 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,12 @@ deps = -r{toxinidir}/test-requirements.txt commands = ostestr {posargs} whitelist_externals = ostestr +[testenv:fast8] +# Use same environment directory as pep8 env to save space and install time +envdir = {toxworkdir}/pep8 +commands = + {toxinidir}/tools/fast8.sh + [testenv:pep8] commands = flake8