diff --git a/test/integration/roles/test_win_async_wrapper/tasks/main.yml b/test/integration/roles/test_win_async_wrapper/tasks/main.yml index 3ca0f3e7b90..d3d24bb753a 100644 --- a/test/integration/roles/test_win_async_wrapper/tasks/main.yml +++ b/test/integration/roles/test_win_async_wrapper/tasks/main.yml @@ -138,33 +138,31 @@ - asyncresult | failed == true - asyncresult.msg is search('failing via exception') +- name: loop async success + async_test: + sleep_delay_sec: 3 + async: 10 + poll: 0 + with_sequence: start=1 end=4 + register: async_many -# this test is only flaky under shippable/AWS- the last iteration "until's" forever, cannot repro locally -#- name: loop async success -# async_test: -# sleep_delay_sec: 3 -# async: 10 -# poll: 0 -# with_sequence: start=1 end=4 -# register: async_many -# -#- name: wait for completion -# async_status: -# jid: "{{ item }}" -# register: asyncout -# until: asyncout.finished == 1 -# retries: 10 -# delay: 1 -# with_items: "{{ async_many.results | map(attribute='ansible_job_id') | list }}" -# -#- name: validate results -# assert: -# that: -# - item.finished == 1 -# - item.slept_sec == 3 -# - item.changed == true -# - item.ansible_job_id is match('\d+\.\d+') -# with_items: "{{ asyncout.results }}" +- name: wait for completion + async_status: + jid: "{{ item }}" + register: asyncout + until: asyncout.finished == 1 + retries: 10 + delay: 1 + with_items: "{{ async_many.results | map(attribute='ansible_job_id') | list }}" + +- name: validate results + assert: + that: + - item.finished == 1 + - item.slept_sec == 3 + - item.changed == true + - item.ansible_job_id is match('\d+\.\d+') + with_items: "{{ asyncout.results }}" # this part of the test is flaky- Windows PIDs are reused aggressively, so this occasionally fails due to a new process with the same ID # FUTURE: consider having the test module hook to a kernel object we can poke at that gets signaled/released on exit