From c07edb5f8072e238caa0dfbf38bb719c6ab20c12 Mon Sep 17 00:00:00 2001 From: Attila Fazekas Date: Sun, 17 Mar 2019 15:38:03 +0100 Subject: [PATCH] Mention autopep8 in Hacking.rst The scripts in the tools now is able to distinguish, the autopep8 error codes better. Change-Id: I9ea19009118ed418e3666fad45d2e0eb676204c8 --- HACKING.rst | 2 ++ tools/format.sh | 26 +++++++++++++++++++++++++- tox.ini | 4 ++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/HACKING.rst b/HACKING.rst index eb6551abdc..1559fc69d2 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -28,6 +28,8 @@ Tempest Specific Commandments - [T117] Check negative tests have ``@decorators.attr(type=['negative'])`` applied. +It is recommended to use ``tox -eautopep8`` before submitting a patch. + Test Data/Configuration ----------------------- - Assume nothing about existing test data diff --git a/tools/format.sh b/tools/format.sh index adffb8cc64..dec8f1cdbe 100755 --- a/tools/format.sh +++ b/tools/format.sh @@ -1,5 +1,29 @@ #!/bin/bash + cd $(dirname "$(readlink -f "$0")") -autopep8 --exit-code --max-line-length=79 --experimental --in-place -r ../tempest ../setup.py && echo Formatting was not needed. >&2 +AUTOPEP8=`which autopep8 2>/dev/null` +if [[ -z "$AUTOPEP8" ]]; then + AUTOPEP8=`which autopep8-3` +fi + +if [[ -z "$AUTOPEP8" ]]; then + echo "Unable to locate autopep8" >&2 + exit 2 +fi + +# isort is not compatible with the default flake8 (H306), maybe flake8-isort +# isort -rc -sl -fss ../tempest ../setup.py +$AUTOPEP8 --exit-code --max-line-length=79 --experimental --in-place -r ../tempest ../setup.py +ERROR=$? + +if [[ $ERROR -eq 0 ]]; then + echo "Formatting was not needed." >&2 + exit 0 +elif [[ $ERROR -eq 1 ]]; then + echo "Formatting failed.." >&2 + exit 1 +else + echo "done" >&2 +fi diff --git a/tox.ini b/tox.ini index 433f16841f..230249f4fc 100644 --- a/tox.ini +++ b/tox.ini @@ -198,7 +198,7 @@ whitelist_externals = rm [testenv:pep8] deps = - -r test-requirements.txt + -r{toxinidir}/test-requirements.txt autopep8 basepython = python3 commands = @@ -210,7 +210,7 @@ commands = deps = autopep8 basepython = python3 commands = - autopep8 --max-line-length=79 --experimental --in-place -r tempest setup.py + {toxinidir}/tools/format.sh [testenv:uuidgen] commands =