0322cbc5c3
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. This patch also updates pylint to 1.5.6 which is compatible with python3. In updating pylint we have some issues to correct, this patch addresses those issues so the Octavia code passes pylint 1.5.6. Change-Id: Iec21f4c803a427059d595612336d67a35ebf9585 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
67 lines
1.6 KiB
Bash
Executable File
67 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# This script is copied from neutron and adapted for octavia.
|
|
set -eu
|
|
|
|
usage () {
|
|
echo "Usage: $0 [OPTION]..."
|
|
echo "Run octavia's coding check(s)"
|
|
echo ""
|
|
echo " -Y, --pylint [<basecommit>] Run pylint check on the entire octavia module or just files changed in basecommit (e.g. HEAD~1)"
|
|
echo " -h, --help Print this usage message"
|
|
echo
|
|
exit 0
|
|
}
|
|
|
|
join_args() {
|
|
if [ -z "$scriptargs" ]; then
|
|
scriptargs="$opt"
|
|
else
|
|
scriptargs="$scriptargs $opt"
|
|
fi
|
|
}
|
|
|
|
process_options () {
|
|
i=1
|
|
while [ $i -le $# ]; do
|
|
eval opt=\$$i
|
|
case $opt in
|
|
-h|--help) usage;;
|
|
-Y|--pylint) pylint=1;;
|
|
*) join_args;;
|
|
esac
|
|
i=$((i+1))
|
|
done
|
|
}
|
|
|
|
run_pylint () {
|
|
local target="${scriptargs:-all}"
|
|
|
|
if [ "$target" = "all" ]; then
|
|
files="octavia"
|
|
else
|
|
case "$target" in
|
|
*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~1, this change only)..."
|
|
if [ -n "${files}" ]; then
|
|
pylint --max-nested-blocks 7 --extension-pkg-whitelist netifaces --rcfile=.pylintrc --output-format=colorized ${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
|