ansible/test/sanity/code-smell/use-compat-six.sh
Matt Clay 912d6ed8cc Clean up code-smell sanity scripts. (#18407)
- Replace find ';' with '+' for faster execution.
- Replace grep -R with -r to avoid recursive warnings.
- Exclude .git and .tox directories from recursive grep.
- Improve messaging on failed sanity checks.
- Add no-basestring check to Shippable.
2016-11-07 16:46:33 -08:00

21 lines
652 B
Bash
Executable file

#!/bin/sh
# Do we want to check dynamic inventory, bin, etc?
BASEDIR=${1-"lib"}
# REGEX of individual files where the import of six is not a problem
# digital_ocean is checking for six because dopy doesn't specify the
# requirement on six so it needs to try importing six to give the correct error
# message
WHITELIST='(lib/ansible/modules/core/cloud/digital_ocean/digital_ocean.py)'
SIX_USERS=$(find "$BASEDIR" -name '*.py' -exec grep -wH six '{}' '+' \
| grep import \
| grep -v ansible.compat \
| grep -v ansible.module_utils.six \
| egrep -v "^$WHITELIST:"
)
if [ "${SIX_USERS}" ]; then
echo "${SIX_USERS}"
exit 1
fi