summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornitzmahone <mdavis@ansible.com>2016-06-23 17:52:49 -0700
committernitzmahone <mdavis@ansible.com>2016-06-23 17:53:08 -0700
commit1f92ade584fd86a0bbf49179888414c542a6371d (patch)
tree9e90ac6addce752f1dae6d8d9168144ad2368a8c
parent32b605f603eff30b6b89722c4c97e8e77f700d40 (diff)
downloadansible-1f92ade584fd86a0bbf49179888414c542a6371d.tar.gz
add integration test to assert included tasks run in proper order
-rw-r--r--test/integration/non_destructive.yml1
-rw-r--r--test/integration/roles/test_task_ordering/tasks/main.yml13
-rw-r--r--test/integration/roles/test_task_ordering/tasks/taskorder-include.yml10
3 files changed, 24 insertions, 0 deletions
diff --git a/test/integration/non_destructive.yml b/test/integration/non_destructive.yml
index 59910755d4..182414180a 100644
--- a/test/integration/non_destructive.yml
+++ b/test/integration/non_destructive.yml
@@ -36,6 +36,7 @@
- { role: test_facts_d, tags: test_facts_d }
- { role: test_async, tags: test_async }
- { role: test_command_shell, tags: test_command_shell }
+ - { role: test_task_ordering, tags: test_task_ordering }
- { role: test_script, tags: test_script }
- { role: test_authorized_key, tags: test_authorized_key }
- { role: test_embedded_module, tags: test_embedded_module }
diff --git a/test/integration/roles/test_task_ordering/tasks/main.yml b/test/integration/roles/test_task_ordering/tasks/main.yml
new file mode 100644
index 0000000000..edd1890a90
--- /dev/null
+++ b/test/integration/roles/test_task_ordering/tasks/main.yml
@@ -0,0 +1,13 @@
+- shell: mktemp
+ register: temppath
+- include: taskorder-include.yml
+ with_items:
+ - 1
+ - 2
+ - 3
+
+- assert:
+ that: lookup('file', temppath.stdout) == "one.1.two.1.three.1.four.1.one.2.two.2.three.2.four.2.one.3.two.3.three.3.four.3."
+
+- file: path="{{temppath.stdout}}" state=absent
+
diff --git a/test/integration/roles/test_task_ordering/tasks/taskorder-include.yml b/test/integration/roles/test_task_ordering/tasks/taskorder-include.yml
new file mode 100644
index 0000000000..4e64b7e927
--- /dev/null
+++ b/test/integration/roles/test_task_ordering/tasks/taskorder-include.yml
@@ -0,0 +1,10 @@
+# This test ensures that included tasks are run in order.
+# There have been regressions where included tasks and
+# nested blocks ran out of order...
+
+- shell: printf one.{{ item }}. >> {{ temppath.stdout }}
+- block:
+ - shell: printf two.{{ item }}. >> {{ temppath.stdout }}
+ - block:
+ - shell: printf three.{{ item }}. >> {{ temppath.stdout }}
+- shell: printf four.{{ item }}. >> {{ temppath.stdout }}