|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
echo '----- ulimits -----'
|
|
|
|
ulimit -a
|
|
|
|
echo '-------------------'
|
|
|
|
echo
|
|
|
|
|
|
|
|
set -o errexit
|
|
|
|
set -o pipefail
|
|
|
|
|
|
|
|
if [ ! "$UNIT2" ]; then
|
|
|
|
UNIT2="$(which unit2)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
[ "$NOCOVERAGE" ] || coverage erase
|
|
|
|
|
|
|
|
# First run overwites coverage output.
|
|
|
|
[ "$SKIP_MITOGEN" ] || {
|
|
|
|
if [ ! "$NOCOVERAGE" ]; then
|
|
|
|
coverage run "${UNIT2}" discover \
|
|
|
|
--start-directory "tests" \
|
|
|
|
--pattern '*_test.py' \
|
|
|
|
"$@"
|
|
|
|
else
|
|
|
|
"${UNIT2}" discover \
|
|
|
|
--start-directory "tests" \
|
|
|
|
--pattern '*_test.py' \
|
|
|
|
"$@"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# Second run appends. This is since 'discover' treats subdirs as packages and
|
|
|
|
# the 'ansible' subdir shadows the real Ansible package when it contains
|
|
|
|
# __init__.py, so hack around it by just running again with 'ansible' as the
|
|
|
|
# start directory. Alternative seems to be renaming tests/ansible/ and making a
|
|
|
|
# mess of Git history.
|
|
|
|
[ "$SKIP_ANSIBLE" ] || {
|
|
|
|
export PYTHONPATH=`pwd`/tests:$PYTHONPATH
|
|
|
|
if [ ! "$NOCOVERAGE" ]; then
|
|
|
|
coverage run -a "${UNIT2}" discover \
|
|
|
|
--start-directory "tests/ansible" \
|
|
|
|
--pattern '*_test.py' \
|
|
|
|
"$@"
|
|
|
|
else
|
|
|
|
coverage run -a "${UNIT2}" discover \
|
|
|
|
--start-directory "tests/ansible" \
|
|
|
|
--pattern '*_test.py' \
|
|
|
|
"$@"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
[ "$NOCOVERAGE" ] || coverage html
|
|
|
|
[ "$NOCOVERAGE" ] || echo coverage report is at "file://$(pwd)/htmlcov/index.html"
|