Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ansible/ansible.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSloane Hertel <19572925+s-hertel@users.noreply.github.com>2022-10-12 16:44:22 +0300
committerGitHub <noreply@github.com>2022-10-12 16:44:22 +0300
commitf9cb6796755cda8d221a4b5f6851f0e50a4af91e (patch)
treeb77b35ee34d25a531735eb90179d04a41f877bd8 /test
parentcc2e7501db65193b7103195251dae5cffd8c03ca (diff)
compile role with all parents in the dep chain (#79079)
fix inheriting from parents when role depth exceeds 3 Fixes #47023
Diffstat (limited to 'test')
-rw-r--r--test/integration/targets/roles/47023.yml5
-rw-r--r--test/integration/targets/roles/role_dep_chain.yml6
-rw-r--r--test/integration/targets/roles/roles/47023_role1/defaults/main.yml1
-rw-r--r--test/integration/targets/roles/roles/47023_role1/tasks/main.yml1
-rw-r--r--test/integration/targets/roles/roles/47023_role1/vars/main.yml1
-rw-r--r--test/integration/targets/roles/roles/47023_role2/tasks/main.yml1
-rw-r--r--test/integration/targets/roles/roles/47023_role3/tasks/main.yml1
-rw-r--r--test/integration/targets/roles/roles/47023_role4/tasks/main.yml5
-rw-r--r--test/integration/targets/roles/roles/imported_from_include/tasks/main.yml4
-rw-r--r--test/integration/targets/roles/roles/include_import_dep_chain/defaults/main.yml1
-rw-r--r--test/integration/targets/roles/roles/include_import_dep_chain/tasks/main.yml2
-rw-r--r--test/integration/targets/roles/roles/include_import_dep_chain/vars/main.yml1
-rwxr-xr-xtest/integration/targets/roles/runme.sh6
13 files changed, 35 insertions, 0 deletions
diff --git a/test/integration/targets/roles/47023.yml b/test/integration/targets/roles/47023.yml
new file mode 100644
index 00000000000..6b41b52f52e
--- /dev/null
+++ b/test/integration/targets/roles/47023.yml
@@ -0,0 +1,5 @@
+---
+- hosts: all
+ gather_facts: no
+ tasks:
+ - include_role: name=47023_role1
diff --git a/test/integration/targets/roles/role_dep_chain.yml b/test/integration/targets/roles/role_dep_chain.yml
new file mode 100644
index 00000000000..cf99a25a0f9
--- /dev/null
+++ b/test/integration/targets/roles/role_dep_chain.yml
@@ -0,0 +1,6 @@
+---
+- hosts: all
+ tasks:
+ - name: static import inside dynamic include inherits defaults/vars
+ include_role:
+ name: include_import_dep_chain
diff --git a/test/integration/targets/roles/roles/47023_role1/defaults/main.yml b/test/integration/targets/roles/roles/47023_role1/defaults/main.yml
new file mode 100644
index 00000000000..166caa33b30
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role1/defaults/main.yml
@@ -0,0 +1 @@
+my_default: defined
diff --git a/test/integration/targets/roles/roles/47023_role1/tasks/main.yml b/test/integration/targets/roles/roles/47023_role1/tasks/main.yml
new file mode 100644
index 00000000000..9c408ba2edd
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role1/tasks/main.yml
@@ -0,0 +1 @@
+- include_role: name=47023_role2
diff --git a/test/integration/targets/roles/roles/47023_role1/vars/main.yml b/test/integration/targets/roles/roles/47023_role1/vars/main.yml
new file mode 100644
index 00000000000..bfda56b9b80
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role1/vars/main.yml
@@ -0,0 +1 @@
+my_var: defined
diff --git a/test/integration/targets/roles/roles/47023_role2/tasks/main.yml b/test/integration/targets/roles/roles/47023_role2/tasks/main.yml
new file mode 100644
index 00000000000..4544215f84a
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role2/tasks/main.yml
@@ -0,0 +1 @@
+- include_role: name=47023_role3
diff --git a/test/integration/targets/roles/roles/47023_role3/tasks/main.yml b/test/integration/targets/roles/roles/47023_role3/tasks/main.yml
new file mode 100644
index 00000000000..9479fe3f3d8
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role3/tasks/main.yml
@@ -0,0 +1 @@
+- include_role: name=47023_role4
diff --git a/test/integration/targets/roles/roles/47023_role4/tasks/main.yml b/test/integration/targets/roles/roles/47023_role4/tasks/main.yml
new file mode 100644
index 00000000000..64c96e97dd6
--- /dev/null
+++ b/test/integration/targets/roles/roles/47023_role4/tasks/main.yml
@@ -0,0 +1,5 @@
+- debug:
+ msg: "Var is {{ my_var | default('undefined') }}"
+
+- debug:
+ msg: "Default is {{ my_default | default('undefined') }}"
diff --git a/test/integration/targets/roles/roles/imported_from_include/tasks/main.yml b/test/integration/targets/roles/roles/imported_from_include/tasks/main.yml
new file mode 100644
index 00000000000..32126f87d2b
--- /dev/null
+++ b/test/integration/targets/roles/roles/imported_from_include/tasks/main.yml
@@ -0,0 +1,4 @@
+- assert:
+ that:
+ - inherit_var is defined
+ - inherit_default is defined
diff --git a/test/integration/targets/roles/roles/include_import_dep_chain/defaults/main.yml b/test/integration/targets/roles/roles/include_import_dep_chain/defaults/main.yml
new file mode 100644
index 00000000000..5b8a643d1a9
--- /dev/null
+++ b/test/integration/targets/roles/roles/include_import_dep_chain/defaults/main.yml
@@ -0,0 +1 @@
+inherit_default: default
diff --git a/test/integration/targets/roles/roles/include_import_dep_chain/tasks/main.yml b/test/integration/targets/roles/roles/include_import_dep_chain/tasks/main.yml
new file mode 100644
index 00000000000..84884a8d811
--- /dev/null
+++ b/test/integration/targets/roles/roles/include_import_dep_chain/tasks/main.yml
@@ -0,0 +1,2 @@
+- import_role:
+ name: imported_from_include
diff --git a/test/integration/targets/roles/roles/include_import_dep_chain/vars/main.yml b/test/integration/targets/roles/roles/include_import_dep_chain/vars/main.yml
new file mode 100644
index 00000000000..0d4aaa94900
--- /dev/null
+++ b/test/integration/targets/roles/roles/include_import_dep_chain/vars/main.yml
@@ -0,0 +1 @@
+inherit_var: var
diff --git a/test/integration/targets/roles/runme.sh b/test/integration/targets/roles/runme.sh
index bad02bc9d0f..1e154b795a2 100755
--- a/test/integration/targets/roles/runme.sh
+++ b/test/integration/targets/roles/runme.sh
@@ -29,3 +29,9 @@ fi
# ensure vars scope is correct
ansible-playbook vars_scope.yml -i ../../inventory "$@"
+
+# test nested includes get parent roles greater than a depth of 3
+[ "$(ansible-playbook 47023.yml -i ../../inventory "$@" | grep '\<\(Default\|Var\)\>' | grep -c 'is defined')" = "2" ]
+
+# ensure import_role called from include_role has the include_role in the dep chain
+ansible-playbook role_dep_chain.yml -i ../../inventory "$@"