39 lines
1 KiB
Bash
39 lines
1 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -o pipefail -eux
|
||
|
|
||
|
declare -a args
|
||
|
IFS='/:' read -ra args <<< "$1"
|
||
|
|
||
|
version="${args[1]}"
|
||
|
group="${args[2]}"
|
||
|
|
||
|
if [[ "${COVERAGE:-}" == "--coverage" ]]; then
|
||
|
timeout=90
|
||
|
else
|
||
|
timeout=30
|
||
|
fi
|
||
|
|
||
|
group1=()
|
||
|
|
||
|
case "${group}" in
|
||
|
1) options=("${group1[@]:+${group1[@]}}") ;;
|
||
|
esac
|
||
|
|
||
|
ansible-test env --timeout "${timeout}" --color -v
|
||
|
|
||
|
if [ "$2" == "2.9" ]; then
|
||
|
# 1.5.0+ will not install for Python 3.6+ in the 2.9 setting (due to `enum` being installed)
|
||
|
echo "pynacl >= 1.4.0, < 1.5.0; python_version >= '3.6'" >> tests/unit/requirements.txt
|
||
|
fi
|
||
|
|
||
|
if [ "$2" == "2.10" ]; then
|
||
|
sed -i -E 's/^redis($| .*)/redis < 4.1.0/g' tests/unit/requirements.txt
|
||
|
sed -i -E 's/^python-gitlab($| .*)/python-gitlab < 2.10.1 ; python_version >= '\'3.6\''/g' tests/unit/requirements.txt
|
||
|
echo "python-gitlab ; python_version < '3.6'" >> tests/unit/requirements.txt
|
||
|
fi
|
||
|
|
||
|
# shellcheck disable=SC2086
|
||
|
ansible-test units --color -v --docker default --python "${version}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} \
|
||
|
"${options[@]:+${options[@]}}" \
|