diff --git a/test/integration/targets/facts_d/aliases b/test/integration/targets/facts_d/aliases
index 90ea9e12811..6452e6d4c46 100644
--- a/test/integration/targets/facts_d/aliases
+++ b/test/integration/targets/facts_d/aliases
@@ -1,2 +1,2 @@
shippable/posix/group2
-context/controller
+context/target
diff --git a/test/integration/targets/facts_d/meta/main.yml b/test/integration/targets/facts_d/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/facts_d/meta/main.yml
+++ b/test/integration/targets/facts_d/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/facts_d/tasks/main.yml b/test/integration/targets/facts_d/tasks/main.yml
index aadef4c693f..7f7b5f96477 100644
--- a/test/integration/targets/facts_d/tasks/main.yml
+++ b/test/integration/targets/facts_d/tasks/main.yml
@@ -4,7 +4,7 @@
- name: prep for local facts tests
block:
- name: set factdir var
- set_fact: fact_dir={{output_dir}}/facts.d
+ set_fact: fact_dir={{remote_tmp_dir}}/facts.d
- name: create fact dir
file: path={{ fact_dir }} state=directory
diff --git a/test/integration/targets/find/meta/main.yml b/test/integration/targets/find/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/find/meta/main.yml
+++ b/test/integration/targets/find/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/find/tasks/main.yml b/test/integration/targets/find/tasks/main.yml
index e90f0846a62..5787a81f268 100644
--- a/test/integration/targets/find/tasks/main.yml
+++ b/test/integration/targets/find/tasks/main.yml
@@ -16,16 +16,16 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
-- set_fact: output_dir_test={{output_dir}}/test_find
+- set_fact: remote_tmp_dir_test={{remote_tmp_dir}}/test_find
- name: make sure our testing sub-directory does not exist
file:
- path: "{{ output_dir_test }}"
+ path: "{{ remote_tmp_dir_test }}"
state: absent
- name: create our testing sub-directory
file:
- path: "{{ output_dir_test }}"
+ path: "{{ remote_tmp_dir_test }}"
state: directory
##
@@ -34,7 +34,7 @@
- name: make some directories
file:
- path: "{{ output_dir_test }}/{{ item }}"
+ path: "{{ remote_tmp_dir_test }}/{{ item }}"
state: directory
with_items:
- a/b/c/d
@@ -42,7 +42,7 @@
- name: make some files
copy:
- dest: "{{ output_dir_test }}/{{ item }}"
+ dest: "{{ remote_tmp_dir_test }}/{{ item }}"
content: 'data'
with_items:
- a/1.txt
@@ -56,7 +56,7 @@
- name: find the directories
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
file_type: directory
recurse: yes
register: find_test0
@@ -75,7 +75,7 @@
- name: find the xml and img files
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
file_type: file
patterns: "*.xml,*.img"
recurse: yes
@@ -89,7 +89,7 @@
- name: find the xml file
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.xml"
recurse: yes
register: find_test2
@@ -103,7 +103,7 @@
- name: find the xml file with empty excludes
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.xml"
recurse: yes
excludes: []
@@ -119,7 +119,7 @@
- name: Copy some files into the test dir
copy:
src: "{{ item }}"
- dest: "{{ output_dir_test }}/{{ item }}"
+ dest: "{{ remote_tmp_dir_test }}/{{ item }}"
mode: 0644
with_items:
- a.txt
@@ -127,7 +127,7 @@
- name: Ensure '$' only matches the true end of the file with read_whole_file, not a line
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.txt"
contains: "KO$"
read_whole_file: true
@@ -141,7 +141,7 @@
- name: Match the end of the file successfully
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.txt"
contains: "OK$"
read_whole_file: true
@@ -155,7 +155,7 @@
- name: When read_whole_file=False, $ should match an individual line
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.txt"
contains: ".*KO$"
read_whole_file: false
@@ -169,7 +169,7 @@
- name: When read_whole_file=True, match across line boundaries
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.txt"
contains: "has\na few"
read_whole_file: true
@@ -183,7 +183,7 @@
- name: When read_whole_file=False, do not match across line boundaries
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
patterns: "*.txt"
contains: "has\na few"
read_whole_file: false
@@ -214,7 +214,7 @@
block:
- name: Get all files/directories in the path
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
recurse: yes
file_type: any
register: total_contents
@@ -226,7 +226,7 @@
- name: Get files and directories with depth
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
recurse: yes
file_type: any
depth: 2
@@ -241,7 +241,7 @@
- name: Find files with depth
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
depth: 2
recurse: yes
register: files_with_depth
@@ -254,7 +254,7 @@
- files_with_depth.examined == 12
- name: exclude with regex
find:
- paths: "{{ output_dir_test }}"
+ paths: "{{ remote_tmp_dir_test }}"
recurse: yes
use_regex: true
exclude: .*\.ogg
@@ -266,32 +266,32 @@
- name: assert we skipped the ogg file
assert:
that:
- - '"{{ output_dir_test }}/e/f/g/h/8.ogg" not in find_test3_list'
+ - '"{{ remote_tmp_dir_test }}/e/f/g/h/8.ogg" not in find_test3_list'
- name: create our age/size testing sub-directory
file:
- path: "{{ output_dir_test }}/astest"
+ path: "{{ remote_tmp_dir_test }}/astest"
state: directory
- name: create test file with old timestamps
file:
- path: "{{ output_dir_test }}/astest/old.txt"
+ path: "{{ remote_tmp_dir_test }}/astest/old.txt"
state: touch
modification_time: "202001011200.0"
- name: create test file with current timestamps
file:
- path: "{{ output_dir_test }}/astest/new.txt"
+ path: "{{ remote_tmp_dir_test }}/astest/new.txt"
state: touch
- name: create hidden test file with current timestamps
file:
- path: "{{ output_dir_test }}/astest/.hidden.txt"
+ path: "{{ remote_tmp_dir_test }}/astest/.hidden.txt"
state: touch
- name: find files older than 1 week
find:
- path: "{{ output_dir_test }}/astest"
+ path: "{{ remote_tmp_dir_test }}/astest"
age: 1w
hidden: true
register: result
@@ -303,11 +303,11 @@
assert:
that:
- result.matched == 1
- - '"{{ output_dir_test }}/astest/old.txt" in astest_list'
+ - '"{{ remote_tmp_dir_test }}/astest/old.txt" in astest_list'
- name: find files newer than 1 week
find:
- path: "{{ output_dir_test }}/astest"
+ path: "{{ remote_tmp_dir_test }}/astest"
age: -1w
register: result
@@ -318,14 +318,14 @@
assert:
that:
- result.matched == 1
- - '"{{ output_dir_test }}/astest/new.txt" in astest_list'
+ - '"{{ remote_tmp_dir_test }}/astest/new.txt" in astest_list'
- name: add some content to the new file
- shell: "echo hello world > {{ output_dir_test }}/astest/new.txt"
+ shell: "echo hello world > {{ remote_tmp_dir_test }}/astest/new.txt"
- name: find files with MORE than 5 bytes, also get checksums
find:
- path: "{{ output_dir_test }}/astest"
+ path: "{{ remote_tmp_dir_test }}/astest"
size: 5
hidden: true
get_checksum: true
@@ -338,12 +338,12 @@
assert:
that:
- result.matched == 1
- - '"{{ output_dir_test }}/astest/new.txt" in astest_list'
+ - '"{{ remote_tmp_dir_test }}/astest/new.txt" in astest_list'
- '"checksum" in result.files[0]'
- name: find ANY item with LESS than 5 bytes, also get checksums
find:
- path: "{{ output_dir_test }}/astest"
+ path: "{{ remote_tmp_dir_test }}/astest"
size: -5
hidden: true
get_checksum: true
@@ -357,6 +357,6 @@
assert:
that:
- result.matched == 2
- - '"{{ output_dir_test }}/astest/old.txt" in astest_list'
- - '"{{ output_dir_test }}/astest/.hidden.txt" in astest_list'
+ - '"{{ remote_tmp_dir_test }}/astest/old.txt" in astest_list'
+ - '"{{ remote_tmp_dir_test }}/astest/.hidden.txt" in astest_list'
- '"checksum" in result.files[0]'
diff --git a/test/integration/targets/module_utils/aliases b/test/integration/targets/module_utils/aliases
index 769d265d3a4..64d1b64a401 100644
--- a/test/integration/targets/module_utils/aliases
+++ b/test/integration/targets/module_utils/aliases
@@ -1,4 +1,5 @@
shippable/posix/group3
needs/root
needs/target/setup_nobody
+needs/target/setup_remote_tmp_dir
context/target
diff --git a/test/integration/targets/module_utils/library/test_alias_deprecation.py b/test/integration/targets/module_utils/library/test_alias_deprecation.py
index 96410fc4ef2..dc36abae710 100644
--- a/test/integration/targets/module_utils/library/test_alias_deprecation.py
+++ b/test/integration/targets/module_utils/library/test_alias_deprecation.py
@@ -4,7 +4,8 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
from ansible.module_utils.basic import AnsibleModule
-from ansible.module_utils.facts import data
+# overridden
+from ansible.module_utils.ansible_release import data
results = {"data": data}
diff --git a/test/integration/targets/module_utils/library/test_override.py b/test/integration/targets/module_utils/library/test_override.py
index b4e21cdd189..7f6e7a5f555 100644
--- a/test/integration/targets/module_utils/library/test_override.py
+++ b/test/integration/targets/module_utils/library/test_override.py
@@ -3,7 +3,8 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
from ansible.module_utils.basic import AnsibleModule
-from ansible.module_utils.facts import data
+# overridden
+from ansible.module_utils.ansible_release import data
results = {"data": data}
diff --git a/test/integration/targets/module_utils/module_utils/ansible_release.py b/test/integration/targets/module_utils/module_utils/ansible_release.py
new file mode 100644
index 00000000000..7d43bf8762b
--- /dev/null
+++ b/test/integration/targets/module_utils/module_utils/ansible_release.py
@@ -0,0 +1,4 @@
+# This file overrides the builtin ansible.module_utils.ansible_release file
+# to test that it can be overridden. Previously this was facts.py but caused issues
+# with dependencies that may need to execute a module that makes use of facts
+data = 'overridden ansible_release.py'
diff --git a/test/integration/targets/module_utils/module_utils/facts.py b/test/integration/targets/module_utils/module_utils/facts.py
deleted file mode 100644
index ba7cbb7b4f8..00000000000
--- a/test/integration/targets/module_utils/module_utils/facts.py
+++ /dev/null
@@ -1 +0,0 @@
-data = 'overridden facts.py'
diff --git a/test/integration/targets/module_utils/module_utils_envvar.yml b/test/integration/targets/module_utils/module_utils_envvar.yml
index 8d97e0eb9d3..8c37940e9bc 100644
--- a/test/integration/targets/module_utils/module_utils_envvar.yml
+++ b/test/integration/targets/module_utils/module_utils_envvar.yml
@@ -33,10 +33,10 @@
test_override:
register: result
- - name: Make sure the we used the local facts.py, not the one shipped with ansible
+ - name: Make sure the we used the local ansible_release.py, not the one shipped with ansible
assert:
that:
- - 'result["data"] == "overridden facts.py"'
+ - 'result["data"] == "overridden ansible_release.py"'
- name: Test that importing something from the module_utils in the env_vars works
test_env_override:
diff --git a/test/integration/targets/module_utils/module_utils_test.yml b/test/integration/targets/module_utils/module_utils_test.yml
index a6019cdaaf7..4e948bd61d6 100644
--- a/test/integration/targets/module_utils/module_utils_test.yml
+++ b/test/integration/targets/module_utils/module_utils_test.yml
@@ -33,10 +33,10 @@
test_override:
register: result
- - name: Make sure the we used the local facts.py, not the one shipped with ansible
+ - name: Make sure the we used the local ansible_release.py, not the one shipped with ansible
assert:
that:
- - result["data"] == "overridden facts.py"
+ - result["data"] == "overridden ansible_release.py"
- name: Test that importing a module that only exists inside of a submodule does not work
test_failure:
@@ -61,13 +61,16 @@
- result.deprecations[-1].version == '9.99'
- block:
+ - import_role:
+ name: setup_remote_tmp_dir
+
- name: Get a string with a \0 in it
command: echo -e 'hi\0foo'
register: string_with_null
- name: Use the null string as a module parameter
lineinfile:
- path: "{{ output_dir }}/nulltest"
+ path: "{{ remote_tmp_dir }}/nulltest"
line: "{{ string_with_null.stdout }}"
create: yes
ignore_errors: yes
@@ -75,7 +78,7 @@
- name: See if the file exists
stat:
- path: "{{ output_dir }}/nulltest"
+ path: "{{ remote_tmp_dir }}/nulltest"
register: nullstat
- assert:
@@ -94,7 +97,7 @@
- nullstat.stat.exists == nulltest is successful
always:
- file:
- path: "{{ output_dir }}/nulltest"
+ path: "{{ remote_tmp_dir }}/nulltest"
state: absent
- name: Test that date and datetime in module output works
diff --git a/test/integration/targets/module_utils/runme.sh b/test/integration/targets/module_utils/runme.sh
index 801734f9b1b..b4ba1356226 100755
--- a/test/integration/targets/module_utils/runme.sh
+++ b/test/integration/targets/module_utils/runme.sh
@@ -2,13 +2,15 @@
set -eux
-ANSIBLE_ROLES_PATH=../ ansible-playbook module_utils_basic_setcwd.yml -i ../../inventory "$@"
+export ANSIBLE_ROLES_PATH=../
+
+ansible-playbook module_utils_basic_setcwd.yml -i ../../inventory "$@"
# Keep the -vvvvv here. This acts as a test for testing that higher verbosity
# doesn't traceback with unicode in the custom module_utils directory path.
ansible-playbook module_utils_vvvvv.yml -i ../../inventory -vvvvv "$@"
-ansible-playbook module_utils_test.yml -i ../../inventory -e output_dir="$OUTPUT_DIR" -v "$@"
+ansible-playbook module_utils_test.yml -i ../../inventory -v "$@"
ANSIBLE_MODULE_UTILS=other_mu_dir ansible-playbook module_utils_envvar.yml -i ../../inventory -v "$@"
diff --git a/test/integration/targets/package/tasks/main.yml b/test/integration/targets/package/tasks/main.yml
index c8b75da4b19..c17525d8d1a 100644
--- a/test/integration/targets/package/tasks/main.yml
+++ b/test/integration/targets/package/tasks/main.yml
@@ -16,14 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
-- set_fact: output_dir_test={{output_dir}}/at
-
-- name: make sure our testing sub-directory does not exist
- file: path="{{ output_dir_test }}" state=absent
-
-- name: create our testing sub-directory
- file: path="{{ output_dir_test }}" state=directory
-
# Verify correct default package manager for Fedora
# Validates: https://github.com/ansible/ansible/issues/34014
- block:
diff --git a/test/integration/targets/raw/aliases b/test/integration/targets/raw/aliases
index a6dafcf8cd8..f5bd1a5b155 100644
--- a/test/integration/targets/raw/aliases
+++ b/test/integration/targets/raw/aliases
@@ -1 +1,2 @@
shippable/posix/group1
+needs/target/setup_remote_tmp_dir
diff --git a/test/integration/targets/raw/meta/main.yml b/test/integration/targets/raw/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/raw/meta/main.yml
+++ b/test/integration/targets/raw/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/raw/runme.sh b/test/integration/targets/raw/runme.sh
index 079554277be..262759965e6 100755
--- a/test/integration/targets/raw/runme.sh
+++ b/test/integration/targets/raw/runme.sh
@@ -3,4 +3,4 @@
set -ux
export ANSIBLE_BECOME_ALLOW_SAME_USER=1
export ANSIBLE_ROLES_PATH=../
-ansible-playbook -i ../../inventory runme.yml -e "output_dir=${OUTPUT_DIR}" -v "$@"
+ansible-playbook -i ../../inventory runme.yml -v "$@"
diff --git a/test/integration/targets/raw/tasks/main.yml b/test/integration/targets/raw/tasks/main.yml
index 7f99eadf278..ce03c72aefd 100644
--- a/test/integration/targets/raw/tasks/main.yml
+++ b/test/integration/targets/raw/tasks/main.yml
@@ -16,24 +16,24 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
-- set_fact: output_dir_test={{output_dir}}/test_command_raw
+- set_fact: remote_tmp_dir_test={{remote_tmp_dir}}/test_command_raw
- name: make sure our testing sub-directory does not exist
- file: path="{{ output_dir_test }}" state=absent
+ file: path="{{ remote_tmp_dir_test }}" state=absent
- name: create our testing sub-directory
- file: path="{{ output_dir_test }}" state=directory
+ file: path="{{ remote_tmp_dir_test }}" state=directory
##
## raw
##
- name: touch a file
- raw: "touch {{output_dir_test | expanduser}}/test.txt"
+ raw: "touch {{remote_tmp_dir_test | expanduser}}/test.txt"
register: raw_result0
- debug: var=raw_result0
- stat:
- path: "{{output_dir_test | expanduser}}/test.txt"
+ path: "{{remote_tmp_dir_test | expanduser}}/test.txt"
register: raw_result0_stat
- debug: var=raw_result0_stat
- name: ensure proper results
@@ -66,7 +66,7 @@
shell: which bash
register: bash_path
- name: run exmample non-posix command with bash
- raw: "echo 'foobar' > {{output_dir_test | expanduser}}/test.txt ; cat < {{output_dir_test | expanduser}}/test.txt"
+ raw: "echo 'foobar' > {{remote_tmp_dir_test | expanduser}}/test.txt ; cat < {{remote_tmp_dir_test | expanduser}}/test.txt"
args:
executable: "{{ bash_path.stdout }}"
register: raw_result2
diff --git a/test/integration/targets/replace/meta/main.yml b/test/integration/targets/replace/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/replace/meta/main.yml
+++ b/test/integration/targets/replace/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/replace/tasks/main.yml b/test/integration/targets/replace/tasks/main.yml
index 24146ff31b4..d267b783dcf 100644
--- a/test/integration/targets/replace/tasks/main.yml
+++ b/test/integration/targets/replace/tasks/main.yml
@@ -1,11 +1,11 @@
# setup
-- set_fact: output_dir_test={{output_dir}}/test_replace
+- set_fact: remote_tmp_dir_test={{remote_tmp_dir}}/test_replace
- name: make sure our testing sub-directory does not exist
- file: path="{{ output_dir_test }}" state=absent
+ file: path="{{ remote_tmp_dir_test }}" state=absent
- name: create our testing sub-directory
- file: path="{{ output_dir_test }}" state=directory
+ file: path="{{ remote_tmp_dir_test }}" state=directory
# tests
- name: create test files
@@ -15,19 +15,19 @@
We promptly judged antique ivory buckles for the next prize.
Jinxed wizards pluck ivy from the big quilt.
Jaded zombies acted quaintly but kept driving their oxen forward.
- dest: "{{ output_dir_test }}/pangrams.{{ item }}.txt"
+ dest: "{{ remote_tmp_dir_test }}/pangrams.{{ item }}.txt"
with_sequence: start=0 end=6 format=%02x #increment as needed
## test `before` option
- name: remove all spaces before "quilt"
replace:
- path: "{{ output_dir_test }}/pangrams.00.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.00.txt"
before: 'quilt'
regexp: ' '
register: replace_test0
-- command: "cat {{ output_dir_test }}/pangrams.00.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.00.txt"
register: replace_cat0
- name: validate before assertions
@@ -42,12 +42,12 @@
## test `after` option
- name: remove all spaces after "promptly"
replace:
- path: "{{ output_dir_test }}/pangrams.01.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.01.txt"
after: 'promptly'
regexp: ' '
register: replace_test1
-- command: "cat {{ output_dir_test }}/pangrams.01.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.01.txt"
register: replace_cat1
- name: validate after assertions
@@ -62,7 +62,7 @@
## test combined `before` and `after` options
- name: before "promptly" but after "quilt", replace every "e" with a "3"
replace:
- path: "{{ output_dir_test }}/pangrams.02.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.02.txt"
before: 'promptly'
after: 'quilt'
regexp: 'e'
@@ -78,14 +78,14 @@
- name: before "quilt" but after "promptly", replace every "e" with a "3"
replace:
- path: "{{ output_dir_test }}/pangrams.03.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.03.txt"
before: 'quilt'
after: 'promptly'
regexp: 'e'
replace: '3'
register: replace_test3
-- command: "cat {{ output_dir_test }}/pangrams.03.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.03.txt"
register: replace_cat3
- name: validate before+after assertions
@@ -99,22 +99,22 @@
## test ^$ behavior in MULTILINE, and . behavior in absense of DOTALL
- name: quote everything between bof and eof
replace:
- path: "{{ output_dir_test }}/pangrams.04.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.04.txt"
regexp: ^([\S\s]+)$
replace: '"\1"'
register: replace_test4_0
-- command: "cat {{ output_dir_test }}/pangrams.04.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.04.txt"
register: replace_cat4_0
- name: quote everything between bol and eol
replace:
- path: "{{ output_dir_test }}/pangrams.04.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.04.txt"
regexp: ^(.+)$
replace: '"\1"'
register: replace_test4_1
-- command: "cat {{ output_dir_test }}/pangrams.04.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.04.txt"
register: replace_cat4_1
- name: validate before+after assertions
@@ -132,29 +132,29 @@
## test \b escaping in short and long form
- name: short form with unescaped word boundaries
- replace: path="{{ output_dir_test }}/pangrams.05.txt" regexp='\b(.+)\b' replace='"\1"'
+ replace: path="{{ remote_tmp_dir_test }}/pangrams.05.txt" regexp='\b(.+)\b' replace='"\1"'
register: replace_test5_0
- name: short form with escaped word boundaries
- replace: path="{{ output_dir_test }}/pangrams.05.txt" regexp='\\b(.+)\\b' replace='"\1"'
+ replace: path="{{ remote_tmp_dir_test }}/pangrams.05.txt" regexp='\\b(.+)\\b' replace='"\1"'
register: replace_test5_1
-- command: "cat {{ output_dir_test }}/pangrams.05.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.05.txt"
register: replace_cat5_1
- name: long form with unescaped word boundaries
replace:
- path: "{{ output_dir_test }}/pangrams.05.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.05.txt"
regexp: '\b(.+)\b'
replace: '"\1"'
register: replace_test5_2
-- command: "cat {{ output_dir_test }}/pangrams.05.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.05.txt"
register: replace_cat5_2
- name: long form with escaped word boundaries
replace:
- path: "{{ output_dir_test }}/pangrams.05.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.05.txt"
regexp: '\\b(.+)\\b'
replace: '"\1"'
register: replace_test5_3
@@ -175,13 +175,13 @@
## test backup behaviors
- name: replacement with backup
replace:
- path: "{{ output_dir_test }}/pangrams.06.txt"
+ path: "{{ remote_tmp_dir_test }}/pangrams.06.txt"
regexp: ^(.+)$
replace: '"\1"'
backup: true
register: replace_test6
-- command: "cat {{ output_dir_test }}/pangrams.06.txt"
+- command: "cat {{ remote_tmp_dir_test }}/pangrams.06.txt"
register: replace_cat6_0
- command: "cat {{ replace_test6.backup_file }}"
@@ -199,14 +199,14 @@
## test filesystem failures
- name: fail on directory
replace:
- path: "{{ output_dir_test }}"
+ path: "{{ remote_tmp_dir_test }}"
regexp: ^(.+)$
register: replace_test7_1
ignore_errors: true
- name: fail on missing file
replace:
- path: "{{ output_dir_test }}/missing_file.txt"
+ path: "{{ remote_tmp_dir_test }}/missing_file.txt"
regexp: ^(.+)$
register: replace_test7_2
ignore_errors: true
@@ -241,18 +241,18 @@
127.0.0.1
127.0.1.1
# end of group
- dest: "{{ output_dir_test }}/addresses.txt"
+ dest: "{{ remote_tmp_dir_test }}/addresses.txt"
- name: subsection madness
replace:
- path: "{{ output_dir_test }}/addresses.txt"
+ path: "{{ remote_tmp_dir_test }}/addresses.txt"
after: '# start of group'
before: '# end of group'
regexp: '0'
replace: '9'
register: replace_test8
-- command: "cat {{ output_dir_test }}/addresses.txt"
+- command: "cat {{ remote_tmp_dir_test }}/addresses.txt"
register: replace_cat8
- name: validate before+after assertions
diff --git a/test/integration/targets/rpm_key/meta/main.yml b/test/integration/targets/rpm_key/meta/main.yml
new file mode 100644
index 00000000000..1810d4bec98
--- /dev/null
+++ b/test/integration/targets/rpm_key/meta/main.yml
@@ -0,0 +1,2 @@
+dependencies:
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/rpm_key/tasks/rpm_key.yaml b/test/integration/targets/rpm_key/tasks/rpm_key.yaml
index 58020f4880b..18bf113b03c 100644
--- a/test/integration/targets/rpm_key/tasks/rpm_key.yaml
+++ b/test/integration/targets/rpm_key/tasks/rpm_key.yaml
@@ -13,7 +13,7 @@
- name: Save gpg keys to a file
copy:
content: "{{ pubkeys['stdout'] }}\n"
- dest: '{{ output_dir }}/pubkeys'
+ dest: '{{ remote_tmp_dir }}/pubkeys'
mode: 0600
#
@@ -183,7 +183,7 @@
shell: "rpm -q gpg-pubkey | xargs rpm -e"
- name: Restore the gpg keys normally installed on the system
- command: 'rpm --import {{ output_dir }}/pubkeys'
+ command: 'rpm --import {{ remote_tmp_dir }}/pubkeys'
- name: Retrieve a list of gpg keys are installed for package checking
shell: 'rpm -q gpg-pubkey | sort'
diff --git a/test/integration/targets/script/meta/main.yml b/test/integration/targets/script/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/script/meta/main.yml
+++ b/test/integration/targets/script/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/script/tasks/main.yml b/test/integration/targets/script/tasks/main.yml
index 2c85f7c5e74..989513d5319 100644
--- a/test/integration/targets/script/tasks/main.yml
+++ b/test/integration/targets/script/tasks/main.yml
@@ -21,16 +21,16 @@
##
- set_fact:
- output_dir_test: "{{ output_dir }}/test_script"
+ remote_tmp_dir_test: "{{ remote_tmp_dir }}/test_script"
- name: make sure our testing sub-directory does not exist
file:
- path: "{{ output_dir_test }}"
+ path: "{{ remote_tmp_dir_test }}"
state: absent
- name: create our testing sub-directory
file:
- path: "{{ output_dir_test }}"
+ path: "{{ remote_tmp_dir_test }}"
state: directory
##
@@ -76,24 +76,24 @@
# creates
- name: verify that afile.txt is absent
file:
- path: "{{ output_dir_test }}/afile.txt"
+ path: "{{ remote_tmp_dir_test }}/afile.txt"
state: absent
- name: create afile.txt with create_afile.sh via command
- script: create_afile.sh {{ output_dir_test | expanduser }}/afile.txt
+ script: create_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile.txt
args:
- creates: "{{ output_dir_test | expanduser }}/afile.txt"
+ creates: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _create_test1
- name: Check state of created file
stat:
- path: "{{ output_dir_test | expanduser }}/afile.txt"
+ path: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _create_stat1
- name: Run create_afile.sh again to ensure it is skipped
- script: create_afile.sh {{ output_dir_test | expanduser }}/afile.txt
+ script: create_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile.txt
args:
- creates: "{{ output_dir_test | expanduser }}/afile.txt"
+ creates: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _create_test2
- name: Assert that script report a change, file was created, second run was skipped
@@ -107,24 +107,24 @@
# removes
- name: verify that afile.txt is present
file:
- path: "{{ output_dir_test }}/afile.txt"
+ path: "{{ remote_tmp_dir_test }}/afile.txt"
state: file
- name: remove afile.txt with remote_afile.sh via command
- script: remove_afile.sh {{ output_dir_test | expanduser }}/afile.txt
+ script: remove_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile.txt
args:
- removes: "{{ output_dir_test | expanduser }}/afile.txt"
+ removes: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _remove_test1
- name: Check state of removed file
stat:
- path: "{{ output_dir_test | expanduser }}/afile.txt"
+ path: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _remove_stat1
- name: Run remote_afile.sh again to enure it is skipped
- script: remove_afile.sh {{ output_dir_test | expanduser }}/afile.txt
+ script: remove_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile.txt
args:
- removes: "{{ output_dir_test | expanduser }}/afile.txt"
+ removes: "{{ remote_tmp_dir_test | expanduser }}/afile.txt"
register: _remove_test2
- name: Assert that script report a change, file was removed, second run was skipped
@@ -138,7 +138,7 @@
# async
- name: verify that afile.txt is absent
file:
- path: "{{ output_dir_test }}/afile.txt"
+ path: "{{ remote_tmp_dir_test }}/afile.txt"
state: absent
- name: test task failure with async param
@@ -156,7 +156,7 @@
# check mode
- name: Run script to create a file in check mode
- script: create_afile.sh {{ output_dir_test | expanduser }}/afile2.txt
+ script: create_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile2.txt
check_mode: yes
register: _check_mode_test
@@ -166,7 +166,7 @@
- name: Get state of file created by script
stat:
- path: "{{ output_dir_test | expanduser }}/afile2.txt"
+ path: "{{ remote_tmp_dir_test | expanduser }}/afile2.txt"
register: _afile_stat
- debug:
@@ -181,12 +181,12 @@
- not _afile_stat.stat.exists
- name: Run script to create a file
- script: create_afile.sh {{ output_dir_test | expanduser }}/afile2.txt
+ script: create_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile2.txt
- name: Run script to create a file in check mode with 'creates' argument
- script: create_afile.sh {{ output_dir_test | expanduser }}/afile2.txt
+ script: create_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile2.txt
args:
- creates: "{{ output_dir_test | expanduser }}/afile2.txt"
+ creates: "{{ remote_tmp_dir_test | expanduser }}/afile2.txt"
register: _check_mode_test2
check_mode: yes
@@ -198,17 +198,17 @@
assert:
that:
- _check_mode_test2 is skipped
- - '_check_mode_test2.msg == "{{ output_dir_test | expanduser }}/afile2.txt exists, matching creates option"'
+ - '_check_mode_test2.msg == "{{ remote_tmp_dir_test | expanduser }}/afile2.txt exists, matching creates option"'
- name: Remove afile2.txt
file:
- path: "{{ output_dir_test | expanduser }}/afile2.txt"
+ path: "{{ remote_tmp_dir_test | expanduser }}/afile2.txt"
state: absent
- name: Run script to remove a file in check mode with 'removes' argument
- script: remove_afile.sh {{ output_dir_test | expanduser }}/afile2.txt
+ script: remove_afile.sh {{ remote_tmp_dir_test | expanduser }}/afile2.txt
args:
- removes: "{{ output_dir_test | expanduser }}/afile2.txt"
+ removes: "{{ remote_tmp_dir_test | expanduser }}/afile2.txt"
register: _check_mode_test3
check_mode: yes
@@ -220,7 +220,7 @@
assert:
that:
- _check_mode_test3 is skipped
- - '_check_mode_test3.msg == "{{ output_dir_test | expanduser }}/afile2.txt does not exist, matching removes option"'
+ - '_check_mode_test3.msg == "{{ remote_tmp_dir_test | expanduser }}/afile2.txt does not exist, matching removes option"'
# executable
diff --git a/test/integration/targets/slurp/meta/main.yml b/test/integration/targets/slurp/meta/main.yml
new file mode 100644
index 00000000000..1810d4bec98
--- /dev/null
+++ b/test/integration/targets/slurp/meta/main.yml
@@ -0,0 +1,2 @@
+dependencies:
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/slurp/tasks/main.yml b/test/integration/targets/slurp/tasks/main.yml
index 6d14f4b0033..939859415ac 100644
--- a/test/integration/targets/slurp/tasks/main.yml
+++ b/test/integration/targets/slurp/tasks/main.yml
@@ -19,11 +19,11 @@
- name: Create a UTF-8 file to test with
copy:
content: 'We are at the café'
- dest: '{{ output_dir }}/foo.txt'
+ dest: '{{ remote_tmp_dir }}/foo.txt'
- name: test slurping an existing file
slurp:
- src: '{{ output_dir }}/foo.txt'
+ src: '{{ remote_tmp_dir }}/foo.txt'
register: slurp_existing
- name: check slurp existing result
@@ -38,11 +38,11 @@
- name: Create a binary file to test with
copy:
src: bar.bin
- dest: '{{ output_dir }}/bar.bin'
+ dest: '{{ remote_tmp_dir }}/bar.bin'
- name: test slurping a binary file
slurp:
- path: '{{ output_dir }}/bar.bin'
+ path: '{{ remote_tmp_dir }}/bar.bin'
register: slurp_binary
no_log: true
diff --git a/test/integration/targets/slurp/tasks/test_unreadable.yml b/test/integration/targets/slurp/tasks/test_unreadable.yml
index da5e36af044..f8a3cfe7c27 100644
--- a/test/integration/targets/slurp/tasks/test_unreadable.yml
+++ b/test/integration/targets/slurp/tasks/test_unreadable.yml
@@ -1,17 +1,17 @@
- name: test slurping a non-existent file
slurp:
- src: '{{ output_dir }}/i_do_not_exist'
+ src: '{{ remote_tmp_dir }}/i_do_not_exist'
register: slurp_missing
ignore_errors: yes
- name: Create a directory to test with
file:
- path: '{{ output_dir }}/baz/'
+ path: '{{ remote_tmp_dir }}/baz/'
state: directory
- name: test slurping a directory
slurp:
- src: '{{ output_dir }}/baz'
+ src: '{{ remote_tmp_dir }}/baz'
register: slurp_dir
ignore_errors: yes
@@ -27,13 +27,13 @@
- name: create unreadable file
copy:
content: "Hello, World!"
- dest: "{{ output_dir }}/qux.txt"
+ dest: "{{ remote_tmp_dir }}/qux.txt"
mode: '0600'
owner: root
- name: test slurp unreadable file
slurp:
- src: "{{ output_dir }}/qux.txt"
+ src: "{{ remote_tmp_dir }}/qux.txt"
register: slurp_unreadable_file
become: yes
become_user: "{{ become_test_user }}"
@@ -42,14 +42,14 @@
- name: create unreadable directory
file:
- path: "{{ output_dir }}/test_data"
+ path: "{{ remote_tmp_dir }}/test_data"
state: directory
mode: '0700'
owner: root
- name: test slurp unreadable directory
slurp:
- src: "{{ output_dir }}/test_data"
+ src: "{{ remote_tmp_dir }}/test_data"
register: slurp_unreadable_dir
become: yes
become_user: "{{ become_test_user }}"
@@ -58,7 +58,7 @@
- name: Try to access file as directory
slurp:
- src: "{{ output_dir }}/qux.txt/somefile"
+ src: "{{ remote_tmp_dir }}/qux.txt/somefile"
ignore_errors: yes
register: slurp_path_file_as_dir
diff --git a/test/integration/targets/user/tasks/main.yml b/test/integration/targets/user/tasks/main.yml
index 3807831f03e..5e1d2d220d8 100644
--- a/test/integration/targets/user/tasks/main.yml
+++ b/test/integration/targets/user/tasks/main.yml
@@ -21,11 +21,6 @@
meta: end_host
when: ansible_distribution == 'Alpine'
-- name: ensure output directory exists
- file:
- dest: "{{ output_dir }}"
- state: directory
-
- import_tasks: test_create_user.yml
- import_tasks: test_create_system_user.yml
- import_tasks: test_create_user_uid.yml
diff --git a/test/integration/targets/wait_for/meta/main.yml b/test/integration/targets/wait_for/meta/main.yml
index 07faa217762..cb6005d042c 100644
--- a/test/integration/targets/wait_for/meta/main.yml
+++ b/test/integration/targets/wait_for/meta/main.yml
@@ -1,2 +1,3 @@
dependencies:
- prepare_tests
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/wait_for/tasks/main.yml b/test/integration/targets/wait_for/tasks/main.yml
index 653d9547f01..c524f990bce 100644
--- a/test/integration/targets/wait_for/tasks/main.yml
+++ b/test/integration/targets/wait_for/tasks/main.yml
@@ -18,21 +18,21 @@
- name: setup webserver
copy:
src: "testserver.py"
- dest: "{{ output_dir }}/testserver.py"
+ dest: "{{ remote_tmp_dir }}/testserver.py"
- name: setup a path
file:
- path: "{{ output_dir }}/wait_for_file"
+ path: "{{ remote_tmp_dir }}/wait_for_file"
state: touch
- name: setup remove a file after 3s
- shell: sleep 3 && rm {{ output_dir }}/wait_for_file
+ shell: sleep 3 && rm {{ remote_tmp_dir }}/wait_for_file
async: 20
poll: 0
- name: test for absent path
wait_for:
- path: "{{ output_dir }}/wait_for_file"
+ path: "{{ remote_tmp_dir }}/wait_for_file"
state: absent
timeout: 20
register: waitfor
@@ -40,36 +40,36 @@
assert:
that:
- waitfor is successful
- - waitfor.path == "{{ output_dir | expanduser }}/wait_for_file"
+ - waitfor.path == "{{ remote_tmp_dir | expanduser }}/wait_for_file"
- waitfor.elapsed >= 2
- waitfor.elapsed <= 15
- name: setup create a file after 3s
- shell: sleep 3 && touch {{ output_dir }}/wait_for_file
+ shell: sleep 3 && touch {{ remote_tmp_dir }}/wait_for_file
async: 20
poll: 0
- name: test for present path
wait_for:
- path: "{{ output_dir }}/wait_for_file"
+ path: "{{ remote_tmp_dir }}/wait_for_file"
timeout: 5
register: waitfor
- name: verify test for absent path
assert:
that:
- waitfor is successful
- - waitfor.path == "{{ output_dir | expanduser }}/wait_for_file"
+ - waitfor.path == "{{ remote_tmp_dir | expanduser }}/wait_for_file"
- waitfor.elapsed >= 2
- waitfor.elapsed <= 15
- name: setup write keyword to file after 3s
- shell: sleep 3 && echo completed > {{output_dir}}/wait_for_keyword
+ shell: sleep 3 && echo completed > {{remote_tmp_dir}}/wait_for_keyword
async: 20
poll: 0
- name: test wait for keyword in file
wait_for:
- path: "{{output_dir}}/wait_for_keyword"
+ path: "{{remote_tmp_dir}}/wait_for_keyword"
search_regex: completed
timeout: 5
register: waitfor
@@ -83,13 +83,13 @@
- waitfor.elapsed <= 15
- name: setup write keyword to file after 3s
- shell: sleep 3 && echo "completed data 123" > {{output_dir}}/wait_for_keyword
+ shell: sleep 3 && echo "completed data 123" > {{remote_tmp_dir}}/wait_for_keyword
async: 20
poll: 0
- name: test wait for keyword in file with match groups
wait_for:
- path: "{{output_dir}}/wait_for_keyword"
+ path: "{{remote_tmp_dir}}/wait_for_keyword"
search_regex: completed (?P\w+) ([0-9]+)
timeout: 5
register: waitfor
@@ -132,7 +132,7 @@
- "waitfor.msg == 'fail with custom message'"
- name: setup start SimpleHTTPServer
- shell: sleep 3 && cd {{ files_dir }} && {{ ansible_python.executable }} {{ output_dir}}/testserver.py {{ http_port }}
+ shell: sleep 3 && cd {{ files_dir }} && {{ ansible_python.executable }} {{ remote_tmp_dir}}/testserver.py {{ http_port }}
async: 120 # this test set can take ~1m to run on FreeBSD (via Shippable)
poll: 0
@@ -156,10 +156,10 @@
- name: Copy zombie.py
copy:
src: zombie.py
- dest: "{{ output_dir }}"
+ dest: "{{ remote_tmp_dir }}"
- name: Create zombie process
- shell: "{{ ansible_python.executable }} {{ output_dir }}/zombie"
+ shell: "{{ ansible_python.executable }} {{ remote_tmp_dir }}/zombie"
async: 90
poll: 0
diff --git a/test/integration/targets/wait_for/vars/main.yml b/test/integration/targets/wait_for/vars/main.yml
index c2732948df7..d15b6d7d171 100644
--- a/test/integration/targets/wait_for/vars/main.yml
+++ b/test/integration/targets/wait_for/vars/main.yml
@@ -1,4 +1,4 @@
---
http_port: 15261
-files_dir: '{{ output_dir|expanduser }}/files'
-checkout_dir: '{{ output_dir }}/git'
+files_dir: '{{ remote_tmp_dir|expanduser }}/files'
+checkout_dir: '{{ remote_tmp_dir }}/git'