1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
- name: integration/runner/custom_binary_single_null.yml
hosts: test-targets
tasks:
- custom_binary_single_null:
foo: true
with_sequence: start=1 end={{end|default(1)}}
ignore_errors: true
register: out
tags:
- custom_binary_single_null
- hosts: test-targets
tasks:
- assert:
that:
- "out.failed"
- "out.results[0].failed"
- |
out.results[0].msg.startswith('MODULE FAILURE')
or out.results[0].msg == 'Module result deserialization failed: No start of json char found'
# On Ubuntu 16.04 /bin/sh is dash 0.5.8. It treats custom_binary_single_null
# as a valid executable. There's no error message, and rc == 0.
- |
out.results[0].module_stdout.startswith('/bin/sh: ')
or (ansible_facts.distribution == 'Ubuntu' and ansible_facts.distribution_version == '16.04')
- |
out.results[0].module_stdout.endswith((
'custom_binary_single_null: cannot execute binary file\r\n',
'custom_binary_single_null: Exec format error\r\n',
'custom_binary_single_null: cannot execute binary file: Exec format error\r\n',
))
or (ansible_facts.distribution == 'Ubuntu' and ansible_facts.distribution_version == '16.04')
fail_msg: |
out={{ out }}
tags:
- custom_binary_single_null
# Can't test this: Mitogen returns 126, 2.5.x returns 126, 2.4.x discarded the
# return value and always returned 0.
# out.results[0].rc == 126
|