306be9f23c
* Use separate variables for stdin and stdout file descriptors
* Do not set stdout to raw mode when output is not a TTY
(cherry picked from commit 1d1595b990
)
29 lines
901 B
Bash
Executable file
29 lines
901 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -eux
|
|
|
|
# Test pause module when no tty and non-interactive. This is to prevent playbooks
|
|
# from hanging in cron and Tower jobs.
|
|
/usr/bin/env bash << EOF
|
|
ansible-playbook test-pause-no-tty.yml -i ../../inventory 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
|
|
|
|
# Test redirecting stdout
|
|
# Issue #41717
|
|
ansible-playbook pause-3.yml -i ../../inventory > /dev/null \
|
|
&& echo "Successfully redirected stdout" \
|
|
|| echo "Failure when attempting to redirect stdout"
|
|
|
|
# Test pause with seconds and minutes specified
|
|
ansible-playbook test-pause.yml -i ../../inventory "$@"
|
|
|
|
# Interactively test pause
|
|
pip install pexpect
|
|
python test-pause.py -i ../../inventory "$@"
|