Clean-up sanity checks done via shell scripts
Move the various checks done via shell into a single file; this is cleaner and we'll have a lot more space to explain what is going on. Related-bug: #1404605 Change-Id: Ibb451c6a25217f37b73983c30891f55b35f143cd
This commit is contained in:
parent
481d366298
commit
4fdda65a5b
@ -1,31 +0,0 @@
|
||||
#! /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
|
71
tools/misc-sanity-checks.sh
Normal file
71
tools/misc-sanity-checks.sh
Normal file
@ -0,0 +1,71 @@
|
||||
#! /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.
|
||||
|
||||
export TMPDIR=`/bin/mktemp -d`
|
||||
trap "rm -rf $TMPDIR" EXIT
|
||||
|
||||
FAILURES=$TMPDIR/failures
|
||||
|
||||
|
||||
check_opinionated_shell () {
|
||||
# Check that shell scripts are not bash opinionated (ignore comments though)
|
||||
# If you cannot avoid the use of bash, please change the EXPECTED var below.
|
||||
OBSERVED=$(grep -E '^([^#]|#!).*bash' tox.ini tools/* | wc -l)
|
||||
EXPECTED=5
|
||||
if [ ${EXPECTED} -ne ${OBSERVED} ]; then
|
||||
echo "Bash usage has been detected!" >>$FAILURES
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
check_no_symlinks_allowed () {
|
||||
# Symlinks break the package build process, so ensure that they
|
||||
# do not slip in, except hidden symlinks.
|
||||
if [ $(find . -type l ! -path '*/\.*' | wc -l) -ge 1 ]; then
|
||||
echo "Symlinks are not allowed!" >>$FAILURES
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
check_pot_files_errors () {
|
||||
# The job neutron-propose-translation-update does not update from
|
||||
# transifex since our po files contain duplicate entries where
|
||||
# obsolete entries duplicate normal entries. Prevent obsolete
|
||||
# entries to slip in
|
||||
find neutron -type f -regex '.*\.pot?' \
|
||||
-print0|xargs -0 -n 1 msgfmt --check-format \
|
||||
-o /dev/null
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "PO files syntax is not correct!" >>$FAILURES
|
||||
fi
|
||||
}
|
||||
|
||||
# Add your checks here...
|
||||
check_opinionated_shell
|
||||
check_no_symlinks_allowed
|
||||
check_pot_files_errors
|
||||
|
||||
# Fail, if there are emitted failures
|
||||
if [ -f $FAILURES ]; then
|
||||
cat $FAILURES
|
||||
exit 1
|
||||
fi
|
5
tox.ini
5
tox.ini
@ -47,11 +47,10 @@ downloadcache = ~/cache/pip
|
||||
|
||||
[testenv:pep8]
|
||||
commands =
|
||||
sh -c "if [ $(find . -type l ! -path '*.tox*' | wc -l) -ge 1 ]; then echo 'Symlinks are not allowed!' && exit 1; fi"
|
||||
sh ./tools/check_bash.sh
|
||||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||||
sh ./tools/misc-sanity-checks.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"
|
||||
whitelist_externals = sh
|
||||
|
||||
[testenv:i18n]
|
||||
|
Loading…
Reference in New Issue
Block a user