mirror of https://github.com/ansible/ansible.git
adding quiet option to assert (ansible#27124) (#52032)
* adding quiet option to assert (ansible#27124) * adding doc for quiet to assert.py * fixing PEP8 failure * improving example * improving docs * adding changelog fragment * adding . at end of descriptions * removing trailing blank line * adding integration test for assert * fixing CI complaints * disabling gather_facts in quiet.yml test * rerunning to capture skip * cleaning up python 2 vs 3 * following rebase * fixing CI complaints * fixing CI complaints * fixing CI complaints * fixing CI complaints * fixing CI complaintspull/53123/head
parent
0e9a79a589
commit
d2bdbadb03
@ -0,0 +1,3 @@
|
||||
minor_changes:
|
||||
- assert - added ``quiet`` option to the ``assert`` module to avoid verbose
|
||||
output (https://github.com/ansible/ansible/issues/27124).
|
@ -0,0 +1 @@
|
||||
shippable/posix/group3
|
@ -0,0 +1,2 @@
|
||||
+ ansible-playbook -i localhost, -c local quiet.yml
|
||||
++ set +x
|
@ -0,0 +1,16 @@
|
||||
|
||||
PLAY [localhost] ***************************************************************
|
||||
|
||||
TASK [assert] ******************************************************************
|
||||
ok: [localhost] => (item=item_A)
|
||||
|
||||
TASK [assert] ******************************************************************
|
||||
ok: [localhost] => (item=item_A) => {
|
||||
"changed": false,
|
||||
"item": "item_A",
|
||||
"msg": "All assertions passed"
|
||||
}
|
||||
|
||||
PLAY RECAP *********************************************************************
|
||||
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
||||
|
@ -0,0 +1,3 @@
|
||||
[all]
|
||||
localhost
|
||||
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
gather_facts: False
|
||||
vars:
|
||||
item_A: yes
|
||||
tasks:
|
||||
- assert:
|
||||
that: "{{ item }} is defined"
|
||||
quiet: True
|
||||
with_items:
|
||||
- item_A
|
||||
- assert:
|
||||
that: "{{ item }} is defined"
|
||||
quiet: False
|
||||
with_items:
|
||||
- item_A
|
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This test compares "known good" output with various settings against output
|
||||
# with the current code. It's brittle by nature, but this is probably the
|
||||
# "best" approach possible.
|
||||
#
|
||||
# Notes:
|
||||
# * options passed to this script (such as -v) are ignored, as they would change
|
||||
# the output and break the test
|
||||
# * the number of asterisks after a "banner" differs is forced to 79 by
|
||||
# redirecting stdin from /dev/null
|
||||
|
||||
set -eux
|
||||
|
||||
run_test() {
|
||||
# testname is playbook name
|
||||
local testname=$1
|
||||
|
||||
# The shenanigans with redirection and 'tee' are to capture STDOUT and
|
||||
# STDERR separately while still displaying both to the console
|
||||
{ ansible-playbook -i 'localhost,' -c local "${testname}.yml" \
|
||||
> >(set +x; tee "${OUTFILE}.${testname}.stdout"); } \
|
||||
2> >(set +x; tee "${OUTFILE}.${testname}.stderr" >&2) 0</dev/null
|
||||
|
||||
perl -pi -e 's/ *$//s' "${OUTFILE}.${testname}.stdout"
|
||||
perl -pi -e 's/ *$//s' "${OUTFILE}.${testname}.stderr"
|
||||
|
||||
diff -u "${ORIGFILE}.${testname}.stdout" "${OUTFILE}.${testname}.stdout" || diff_failure
|
||||
diff -u "${ORIGFILE}.${testname}.stderr" "${OUTFILE}.${testname}.stderr" || diff_failure
|
||||
}
|
||||
|
||||
diff_failure() {
|
||||
if [[ $INIT = 0 ]]; then
|
||||
echo "FAILURE...diff mismatch!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
if [[ $INIT = 0 ]]; then
|
||||
rm -f "${OUTFILE}."*
|
||||
fi
|
||||
}
|
||||
|
||||
BASEFILE=assert_quiet.out
|
||||
|
||||
ORIGFILE="${BASEFILE}"
|
||||
OUTFILE="${BASEFILE}.new"
|
||||
|
||||
trap 'cleanup' EXIT
|
||||
|
||||
# The --init flag will (re)generate the "good" output files used by the tests
|
||||
INIT=0
|
||||
if [[ ${1:-} == "--init" ]]; then
|
||||
shift
|
||||
OUTFILE=$ORIGFILE
|
||||
INIT=1
|
||||
fi
|
||||
|
||||
# Force the 'default' callback plugin
|
||||
export ANSIBLE_STDOUT_CALLBACK=default
|
||||
# Disable color in output for consistency
|
||||
export ANSIBLE_FORCE_COLOR=0
|
||||
export ANSIBLE_NOCOLOR=1
|
||||
# Disable retry files
|
||||
export ANSIBLE_RETRY_FILES_ENABLED=0
|
||||
|
||||
run_test quiet
|
Loading…
Reference in New Issue