mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -eux
|
|
|
|
source virtualenv.sh
|
|
|
|
pip install pexpect==4.9.0
|
|
|
|
# Test pause module when no tty and non-interactive with no seconds parameter.
|
|
# This is to prevent playbooks from hanging in cron and Tower jobs.
|
|
/usr/bin/env bash << EOF
|
|
ansible-playbook test-pause-no-tty.yml 2>&1 | \
|
|
grep '\[WARNING\]: Not waiting for response to prompt as stdin is not interactive' && {
|
|
echo 'Successfully skipped pause in no TTY mode' >&2
|
|
exit 0
|
|
} || {
|
|
echo 'Failed to skip pause module' >&2
|
|
exit 1
|
|
}
|
|
EOF
|
|
|
|
# Do not issue a warning when run in the background if a timeout is given
|
|
# https://github.com/ansible/ansible/issues/73042
|
|
if sleep 0 | ansible localhost -m pause -a 'seconds=1' 2>&1 | grep '\[WARNING\]: Not waiting for response'; then
|
|
echo "Incorrectly issued warning when run in the background"
|
|
exit 1
|
|
else
|
|
echo "Successfully ran in the background with no warning"
|
|
fi
|
|
|
|
# Test redirecting stdout
|
|
# https://github.com/ansible/ansible/issues/41717
|
|
if ansible-playbook pause-3.yml > /dev/null ; then
|
|
echo "Successfully redirected stdout"
|
|
else
|
|
echo "Failure when attempting to redirect stdout"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Test pause with seconds and minutes specified
|
|
ansible-playbook test-pause.yml "$@"
|
|
|
|
# Interactively test pause
|
|
python test-pause.py "$@"
|