|
|
|
# Verify the behaviour of _low_level_execute_command().
|
|
|
|
|
|
|
|
- name: integration/action/low_level_execute_command.yml
|
|
|
|
hosts: test-targets
|
|
|
|
any_errors_fatal: true
|
|
|
|
tasks:
|
|
|
|
|
|
|
|
# "echo -en" to test we actually hit bash shell too.
|
|
|
|
- name: Run raw module without sudo
|
|
|
|
raw: 'echo -en $((1 + 1))'
|
|
|
|
register: raw
|
|
|
|
|
|
|
|
- name: Verify raw module output.
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- 'raw.rc == 0'
|
|
|
|
- 'raw.stdout_lines[-1]|to_text == "2"'
|
|
|
|
- 'raw.stdout[-1]|to_text == "2"'
|
|
|
|
fail_msg: raw={{raw}}
|
|
|
|
|
|
|
|
- name: Run raw module with sudo
|
|
|
|
become: true
|
|
|
|
raw: 'whoami'
|
|
|
|
register: raw
|
|
|
|
|
|
|
|
- debug: msg="x{{raw}}x"
|
|
|
|
|
|
|
|
# Can't test stdout because TTY inserts \r in Ansible version.
|
|
|
|
- name: Verify raw module output.
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- raw.rc == 0
|
|
|
|
# WHY DOES VANILLA INSERT NEWLINES HERE!?!?!?!?!?!ONE
|
|
|
|
#- raw.stdout in ("\r\nroot\r\n", "root\r\n")
|
|
|
|
- '(raw.stdout|to_text).endswith("root\r\n")'
|
|
|
|
- |
|
|
|
|
raw.stdout_lines|to_text in (
|
|
|
|
["\r\n"],
|
|
|
|
["", "root"],
|
|
|
|
["root\r\n"],
|
|
|
|
["root"],
|
|
|
|
)
|
|
|
|
fail_msg: raw={{raw}}
|
|
|
|
tags:
|
|
|
|
- low_level_execute_command
|