You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
- name: Test temp dir on de escalation
|
|
|
|
hosts: testhost
|
|
|
|
become: yes
|
|
|
|
tasks:
|
|
|
|
- name: create test user
|
|
|
|
user:
|
|
|
|
name: tmptest
|
|
|
|
state: present
|
|
|
|
group: '{{ "staff" if ansible_facts.distribution == "MacOSX" else omit }}'
|
|
|
|
|
|
|
|
- name: execute test case
|
|
|
|
become_user: tmptest
|
|
|
|
block:
|
|
|
|
- name: Test case from issue 41340
|
|
|
|
blockinfile:
|
|
|
|
create: yes
|
|
|
|
block: |
|
|
|
|
export foo=bar
|
|
|
|
marker: "# {mark} Here there be a marker"
|
|
|
|
dest: /tmp/testing.txt
|
|
|
|
mode: 0644
|
|
|
|
always:
|
|
|
|
- name: clean up file
|
|
|
|
file: path=/tmp/testing.txt state=absent
|
|
|
|
|
|
|
|
- name: clean up test user
|
|
|
|
user: name=tmptest state=absent
|
|
|
|
become_user: root
|
|
|
|
|
|
|
|
- name: Test tempdir is removed
|
|
|
|
hosts: testhost
|
|
|
|
gather_facts: false
|
|
|
|
vars:
|
|
|
|
# These tests cannot be run with pipelining as it defeats the purpose of
|
|
|
|
# ensuring remote_tmp is cleaned up. Pipelining is enabled in the test
|
|
|
|
# inventory
|
|
|
|
ansible_pipelining: false
|
|
|
|
# Ensure that the remote_tmp_dir we create allows the unpriv connection user
|
|
|
|
# to create the remote_tmp
|
|
|
|
ansible_become: false
|
|
|
|
tasks:
|
|
|
|
- import_role:
|
|
|
|
name: ../setup_remote_tmp_dir
|
|
|
|
|
|
|
|
- vars:
|
|
|
|
# Isolate the remote_tmp used by these tests
|
|
|
|
ansible_remote_tmp: "{{ remote_tmp_dir }}/remote_tmp"
|
|
|
|
block:
|
|
|
|
- file:
|
|
|
|
state: touch
|
|
|
|
path: "{{ remote_tmp_dir }}/65393"
|
|
|
|
|
|
|
|
- copy:
|
|
|
|
src: "{{ remote_tmp_dir }}/65393"
|
|
|
|
dest: "{{ remote_tmp_dir }}/65393.2"
|
|
|
|
remote_src: true
|
|
|
|
|
|
|
|
- find:
|
|
|
|
path: "{{ ansible_remote_tmp }}"
|
|
|
|
use_regex: yes
|
|
|
|
patterns: 'AnsiballZ_.+\.py'
|
|
|
|
recurse: true
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
var: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
# Should only be AnsiballZ_find.py because find is actively running
|
|
|
|
- result.files|length == 1
|
|
|
|
- result.files[0].path.endswith('/AnsiballZ_find.py')
|