From 846ae08d877ea4537dcc706ecf8d1dbf3cc9bfc7 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Wed, 3 Dec 2014 15:29:02 +0900 Subject: [PATCH] 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 --- tools/check_bash.sh | 31 +++++++++++++++++++++++++++++++ tox.ini | 1 + 2 files changed, 32 insertions(+) create mode 100644 tools/check_bash.sh diff --git a/tools/check_bash.sh b/tools/check_bash.sh new file mode 100644 index 00000000000..e9d178eeb77 --- /dev/null +++ b/tools/check_bash.sh @@ -0,0 +1,31 @@ +#! /bin/sh + +# Copyright (C) 2014 VA Linux Systems Japan K.K. +# Copyright (C) 2014 YAMAMOTO Takashi +# 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 diff --git a/tox.ini b/tox.ini index 2e7d2e48d57..311bcadc2c7 100644 --- a/tox.ini +++ b/tox.ini @@ -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"