tox.ini: Prevent casual addition of bash dependency

While bash is not available on every environments, there seems to be
a tendency to introduce more bash dependency very casually.  This check
is intended to be a reminder to give people a chance to consider
alternatives.

Related-Bug: #1398266
Change-Id: I5103e0d7c111880d9a02dd93de56c567066ed14c
This commit is contained in:
YAMAMOTO Takashi 2014-12-03 15:29:02 +09:00
parent 32363afa05
commit 91184f586d
2 changed files with 32 additions and 0 deletions

31
tools/check_bash.sh Normal file
View File

@ -0,0 +1,31 @@
#! /bin/sh
# Copyright (C) 2014 VA Linux Systems Japan K.K.
# Copyright (C) 2014 YAMAMOTO Takashi <yamamoto at valinux co jp>
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# The purpose of this script is to avoid casual introduction of more
# bash dependency. Please consider alternatives before commiting code
# which uses bash specific features.
# Ignore comments, but include shebangs
OBSERVED=$(grep -E '^([^#]|#!).*bash' tox.ini tools/* | wc -l)
EXPECTED=5
if [ ${EXPECTED} -ne ${OBSERVED} ]; then
echo Unexpected number of bash usages are detected.
echo Please read the comment in $0
exit 1
fi
exit 0

View File

@ -44,6 +44,7 @@ downloadcache = ~/cache/pip
[testenv:pep8]
commands =
sh ./tools/check_bash.sh
flake8
neutron-db-manage check_migration
sh -c "find neutron -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"