summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDag Wieers <dag@wieers.com>2016-12-09 10:18:15 +0100
committerBrian Coca <brian.coca+git@gmail.com>2016-12-14 11:18:31 -0500
commit268645c17a98fd65688b956e888ce8a9559488d1 (patch)
tree19fe4516023888e03ccab689396396adc5e8f74c /test
parente715221a668e3fb91c479a46b3576dcc82260098 (diff)
downloadansible-268645c17a98fd65688b956e888ce8a9559488d1.tar.gz
Fix regression in search path behaviour
This PR fixes a few issues: - Missing role parent directory for relative paths - Fix integration tests (add missing stage) - Redesign integration tests - Incorrect order with tasks-lookups - Duplicate paths are listed - Repetitive tasks/tasks or files/files were possible ==== using copy with test.txt Before: ``` 491 1481281038.29393: search_path: /home/dag/home-made/ansible.testing/roles/test134/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/test.txt /home/dag/home-made/ansible.testing/files/test.txt /home/dag/home-made/ansible.testing/test.txt ``` After: ``` 32505 1481280963.22418: search_path: /home/dag/home-made/ansible.testing/roles/test134/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/test.txt /home/dag/home-made/ansible.testing/files/test.txt /home/dag/home-made/ansible.testing/test.txt ``` ==== Using copy with files/test.txt Before: ``` 31523 1481280499.63052: search_path: /home/dag/home-made/ansible.testing/roles/test134/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/files/test.txt /home/dag/home-made/ansible.testing/files/files/test.txt /home/dag/home-made/ansible.testing/files/test.txt ``` After: ``` 31110 1481280299.38778: search_path: /home/dag/home-made/ansible.testing/roles/test134/files/test.txt /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt /home/dag/home-made/ansible.testing/files/test.txt ``` ==== Using template with files/test.txt.j2 Before: ``` 30074 1481280064.15191: search_path: /home/dag/home-made/ansible.testing/roles/test134/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/tasks/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/tasks/tasks/files/test.txt.j2 /home/dag/home-made/ansible.testing/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/files/test.txt.j2 ``` After: ``` 29201 1481279823.52752: search_path: /home/dag/home-made/ansible.testing/roles/test134/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/tasks/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/roles/test134/tasks/files/test.txt.j2 /home/dag/home-made/ansible.testing/templates/files/test.txt.j2 /home/dag/home-made/ansible.testing/files/test.txt.j2 ``` This fixes #19048 (cherry picked from commit 7c71c678fae64f6962604b76664dd320128130d1)
Diffstat (limited to 'test')
-rw-r--r--test/integration/lookup_paths/play.yml55
-rw-r--r--test/integration/lookup_paths/testplay.yml7
2 files changed, 26 insertions, 36 deletions
diff --git a/test/integration/lookup_paths/play.yml b/test/integration/lookup_paths/play.yml
index 26a9ce10b9..bded090086 100644
--- a/test/integration/lookup_paths/play.yml
+++ b/test/integration/lookup_paths/play.yml
@@ -6,53 +6,40 @@
- file: path={{playbook_dir}}/files state=directory
- file: path={{playbook_dir}}/roles/showfile/files state=directory
- copy: dest={{playbook_dir}}/roles/showfile/files/testfile content='in role files'
- - copy: dest={{playbook_dir}}/roles/showfile/tasks/testfile content='in role tasks'
- copy: dest={{playbook_dir}}/roles/showfile/testfile content='in role'
+ - copy: dest={{playbook_dir}}/roles/showfile/tasks/testfile content='in role tasks'
- copy: dest={{playbook_dir}}/files/testfile content='in files'
- copy: dest={{playbook_dir}}/testfile content='in local'
- - set_fact: role_out="in role files" play_out="in files" stage='setup'
- include: testplay.yml
-
-- name: remove from role/files
- hosts: testhost
- connection: local
- gather_facts: false
- tasks:
- - file: path={{playbook_dir}}/roles/showfile/files/testfile state=absent
- - set_fact: role_out="in role tasks" play_out="in files" stage='remove 1'
+ vars:
+ remove: nothing
+ role_out: in role files
+ play_out: in files
- include: testplay.yml
-
-- name: remove from role/tasks
- hosts: testhost
- connection: local
- gather_facts: false
- tasks:
- - file: path={{playbook_dir}}/roles/showfile/tasks/testfile state=absent
- - set_fact: role_out="in files" play_out="in files" stage='remote 2'
+ vars:
+ remove: roles/showfile/files/testfile
+ role_out: in role
+ play_out: in files
- include: testplay.yml
-
-- name: remove from role dir
- hosts: testhost
- connection: local
- gather_facts: false
- tasks:
- - file: path={{playbook_dir}}/roles/showfile/testfile state=absent
- - set_fact: role_out="in files" play_out="in files" stage='remove 3'
+ vars:
+ remove: roles/showfile/testfile
+ role_out: in role tasks
+ play_out: in files
- include: testplay.yml
-
-- name: remove from play/files
- hosts: testhost
- connection: local
- gather_facts: false
- tasks:
- - file: path={{playbook_dir}}/files/testfile state=absent
- - set_fact: role_out="in local" play_out="in local" stage='remove 4'
+ vars:
+ remove: roles/showfile/tasks/testfile
+ role_out: in files
+ play_out: in files
- include: testplay.yml
+ vars:
+ remove: files/testfile
+ role_out: in local
+ play_out: in local
- name: cleanup
hosts: testhost
diff --git a/test/integration/lookup_paths/testplay.yml b/test/integration/lookup_paths/testplay.yml
index 8bf4be2c08..a2055158ee 100644
--- a/test/integration/lookup_paths/testplay.yml
+++ b/test/integration/lookup_paths/testplay.yml
@@ -2,13 +2,16 @@
hosts: testhost
connection: local
gather_facts: false
+ pre_tasks:
+ - name: remove {{ remove }}
+ file: path={{ playbook_dir }}/{{ remove }} state=absent
roles:
- showfile
- tasks:
+ post_tasks:
- name: from play
set_fact: play_result="{{lookup('file', 'testfile')}}"
- - name: output output {{stage}}
+ - name: output stage {{ remove }} removed
debug: msg="play> {{play_out}}, role> {{role_out}}"
- name: verify that result match expected