Merge "Test whether sample config generation works"

This commit is contained in:
Jenkins 2015-08-19 19:59:16 +00:00 committed by Gerrit Code Review
commit a8d98325e3
3 changed files with 34 additions and 16 deletions

@ -184,6 +184,7 @@ function run_pep8 {
echo "Running flake8 ..."
warn_on_flake8_without_venv
bash -c "${wrapper} flake8"
${wrapper} bash tools/config/check_uptodate.sh --checkonly
}

@ -1,28 +1,44 @@
#!/usr/bin/env bash
CHECKONLY=0
if [ "$1" == "--checkonly" ]; then
CHECKONLY=1
fi
PROJECT_NAME=${PROJECT_NAME:-cinder}
CFGFILE_NAME=${PROJECT_NAME}.conf.sample
if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then
CFGFILE=etc/${PROJECT_NAME}/${CFGFILE_NAME}
elif [ -e etc/${CFGFILE_NAME} ]; then
CFGFILE=etc/${CFGFILE_NAME}
else
echo "${0##*/}: can not find config file"
exit 1
fi
TEMPDIR=`mktemp -d /tmp/${PROJECT_NAME}.XXXXXX`
trap "rm -rf $TEMPDIR" EXIT
tools/config/generate_sample.sh -b ./ -p ${PROJECT_NAME} -o ${TEMPDIR}
if ! diff -u ${TEMPDIR}/${CFGFILE_NAME} ${CFGFILE}
then
echo "${0##*/}: ${PROJECT_NAME}.conf.sample is not up to date."
echo "${0##*/}: Please run ${0%%${0##*/}}generate_sample.sh from within a VENV."
echo " \'source .venv/bin/activate; generate_sample.sh\'"
echo "OR simply run tox genconfig"
echo " \'tox -egenconfig\'"
exit 1
# generate_sample.sh may return 0 even when it fails.
if [ $CHECKONLY -eq 1 ]; then
# Check whether something was generated.
if [ ! -s ${TEMPDIR}/${CFGFILE_NAME} ]; then
echo "Failed to generate ${CFGFILE_NAME}."
exit 1
fi
else
if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then
CFGFILE=etc/${PROJECT_NAME}/${CFGFILE_NAME}
elif [ -e etc/${CFGFILE_NAME} ]; then
CFGFILE=etc/${CFGFILE_NAME}
else
echo "${0##*/}: can not find config file"
exit 1
fi
if ! diff -u ${TEMPDIR}/${CFGFILE_NAME} ${CFGFILE}
then
echo "${0##*/}: ${PROJECT_NAME}.conf.sample is not up to date."
echo "${0##*/}: Please run ${0%%${0##*/}}generate_sample.sh from within a VENV."
echo " \'source .venv/bin/activate; generate_sample.sh\'"
echo "OR simply run tox genconfig"
echo " \'tox -egenconfig\'"
exit 1
fi
fi

@ -110,6 +110,7 @@ commands =
flake8 {posargs} . cinder/common
# Check that .po and .pot files are valid:
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
{toxinidir}/tools/config/check_uptodate.sh --checkonly
[testenv:pylint]
deps = -r{toxinidir}/requirements.txt