From b863a46805c03ec755e7e69f1964d6231ed56ec5 Mon Sep 17 00:00:00 2001 From: SamYaple Date: Wed, 13 Jan 2016 16:44:11 +0000 Subject: [PATCH] Standardize bashate and add linters The linters gate combindes pep8 and bashate (and then any other linters we want). This changes bashate to be a sript rather than doing a script inline. This matches the way other projects (and project-config themselves) uses bashate [1]. Once a change upstream merges we can remove the redundant pep8 and bashate gates. [1] https://github.com/openstack-infra/project-config/blob/master/tox.ini#L11 https://github.com/openstack-infra/project-config/blob/master/tools/run-bashate.sh Related-Id: I2afa7931bf3e18798b95a8af33ccf5ef761c4ad5 TrivialFix Change-Id: I2ea2c1156e1b4de008f19e333e2740795dc406de --- .gitignore | 1 + test-requirements.txt | 1 + tools/run-bashate.sh | 7 +++++++ tox.ini | 10 ++++++---- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100755 tools/run-bashate.sh diff --git a/.gitignore b/.gitignore index ed49576956..f575bf3cea 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ # Files generated by setup.py kolla.egg-info build +.eggs # Files generated by tools/genenv openrc diff --git a/test-requirements.txt b/test-requirements.txt index 8a869a77e9..dadf6274e7 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,6 +1,7 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. +bashate>=0.2 # Apache-2.0 hacking>=0.10.0 oslo.log>=1.14.0 # Apache-2.0 oslotest>=1.10.0 # Apache-2.0 diff --git a/tools/run-bashate.sh b/tools/run-bashate.sh new file mode 100755 index 0000000000..897228c81b --- /dev/null +++ b/tools/run-bashate.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Ignore E006 -- line length greater than 80 char + +ROOT=$(readlink -fn $(dirname $0)/.. ) +find $ROOT -not -wholename \*.tox/\* -and -not -wholename \*.test/\* \ + -and -name \*.sh -print0 | xargs -0 bashate -v --ignore E006 diff --git a/tox.ini b/tox.ini index 12fa0bc301..8634f614ad 100644 --- a/tox.ini +++ b/tox.ini @@ -14,6 +14,11 @@ commands = find . -type f -name "*.pyc" -delete python setup.py test --slowest --testr-args='{posargs}' +[testenv:linters] +commands = + {toxinidir}/tools/run-bashate.sh + flake8 {posargs} + [testenv:pep8] commands = flake8 @@ -31,11 +36,8 @@ commands = {toxinidir}/tools/validate-all-maintainer.sh [testenv:bashate] -deps = bashate -whitelist_externals = bash -# tox improperly interprets # and {1} in regex, so match on [[:punct:]]+ commands = - bash -c "files=`egrep -rlI --exclude-dir .git --exclude-dir .tox '^[[:punct:]]+!/(bin/|/usr/bin/env )(ba)?sh' .` && bashate $files" + {toxinidir}/tools/run-bashate.sh [testenv:setupenv] whitelist_externals = bash