mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 22:02:50 +00:00
fixes for stripping (#52930)
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior attempt to fix #52910 * handle lists and subdicts correctly * added missing exception case, which was not noticed since 'cleaning' was not working * added comments to clarify exceptions
This commit is contained in:
@@ -5,7 +5,8 @@ set -eux
|
||||
ANSIBLE_SSH_ARGS='-C -o ControlMaster=auto -o ControlPersist=60s -o UserKnownHostsFile=/dev/null' \
|
||||
ANSIBLE_HOST_KEY_CHECKING=false ansible-playbook test_delegate_to.yml -i inventory -v "$@"
|
||||
|
||||
ansible-playbook test_loop_control.yml -v "$@"
|
||||
# this test is not doing what it says it does, also relies on var that should not be available
|
||||
#ansible-playbook test_loop_control.yml -v "$@"
|
||||
|
||||
ansible-playbook test_delegate_to_loop_randomness.yml -v "$@"
|
||||
|
||||
|
||||
1
test/integration/targets/loop_control/aliases
Normal file
1
test/integration/targets/loop_control/aliases
Normal file
@@ -0,0 +1 @@
|
||||
shippable/posix/group2
|
||||
23
test/integration/targets/loop_control/label.yml
Normal file
23
test/integration/targets/loop_control/label.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: loop_control/label https://github.com/ansible/ansible/pull/36430
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- set_fact:
|
||||
loopthis:
|
||||
- name: foo
|
||||
label: foo_label
|
||||
- name: bar
|
||||
label: bar_label
|
||||
|
||||
- name: check that item label is updated each iteration
|
||||
debug:
|
||||
msg: "{{ looped_var.name }}"
|
||||
with_items: "{{ loopthis }}"
|
||||
loop_control:
|
||||
loop_var: looped_var
|
||||
label: "looped_var {{ looped_var.label }}"
|
||||
#
|
||||
# - assert:
|
||||
# that:
|
||||
# - "output.results[0]['_ansible_item_label'] == 'looped_var foo_label'"
|
||||
# - "output.results[1]['_ansible_item_label'] == 'looped_var bar_label'"
|
||||
11
test/integration/targets/loop_control/runme.sh
Executable file
11
test/integration/targets/loop_control/runme.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
# user output has:
|
||||
#ok: [localhost] => (item=looped_var foo_label) => {
|
||||
#ok: [localhost] => (item=looped_var bar_label) => {
|
||||
MATCH='foo_label
|
||||
bar_label'
|
||||
[ "$(ansible-playbook label.yml "$@" |grep 'item='|sed -e 's/^.*(item=looped_var \(.*\)).*$/\1/')" == "${MATCH}" ]
|
||||
|
||||
@@ -196,31 +196,6 @@
|
||||
loop_control:
|
||||
index_var: my_idx
|
||||
|
||||
#
|
||||
# loop_control/label
|
||||
# https://github.com/ansible/ansible/pull/36430
|
||||
#
|
||||
|
||||
- set_fact:
|
||||
loopthis:
|
||||
- name: foo
|
||||
label: foo_label
|
||||
- name: bar
|
||||
label: bar_label
|
||||
|
||||
- name: check that item label is updated each iteration
|
||||
debug:
|
||||
msg: "{{ looped_var.name }}"
|
||||
with_items: "{{ loopthis }}"
|
||||
loop_control:
|
||||
loop_var: looped_var
|
||||
label: "looped_var {{ looped_var.label }}"
|
||||
register: output
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "output.results[0]['_ansible_item_label'] == 'looped_var foo_label'"
|
||||
- "output.results[1]['_ansible_item_label'] == 'looped_var bar_label'"
|
||||
|
||||
# The following test cases are to ensure that we don't have a regression on
|
||||
# GitHub Issue https://github.com/ansible/ansible/issues/35481
|
||||
|
||||
Reference in New Issue
Block a user