# Verify the behaviour of _low_level_execute_command(). - name: integration/action/low_level_execute_command.yml hosts: test-targets 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