diff options
Diffstat (limited to '')
5 files changed, 32 insertions, 0 deletions
diff --git a/test/integration/targets/include_when_parent_is_dynamic/aliases b/test/integration/targets/include_when_parent_is_dynamic/aliases new file mode 100644 index 0000000..1d28bdb --- /dev/null +++ b/test/integration/targets/include_when_parent_is_dynamic/aliases @@ -0,0 +1,2 @@ +shippable/posix/group5 +context/controller diff --git a/test/integration/targets/include_when_parent_is_dynamic/playbook.yml b/test/integration/targets/include_when_parent_is_dynamic/playbook.yml new file mode 100644 index 0000000..afdbc54 --- /dev/null +++ b/test/integration/targets/include_when_parent_is_dynamic/playbook.yml @@ -0,0 +1,4 @@ +- hosts: localhost + gather_facts: no + tasks: + - include_tasks: tasks.yml diff --git a/test/integration/targets/include_when_parent_is_dynamic/runme.sh b/test/integration/targets/include_when_parent_is_dynamic/runme.sh new file mode 100755 index 0000000..fa7a345 --- /dev/null +++ b/test/integration/targets/include_when_parent_is_dynamic/runme.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -eux + +ansible-playbook playbook.yml "$@" > output.log 2>&1 || true + +if grep "task should always execute" output.log >/dev/null; then + echo "Test passed (playbook failed with expected output, output not shown)." + exit 0 +fi + +cat output.log +exit 1 diff --git a/test/integration/targets/include_when_parent_is_dynamic/syntax_error.yml b/test/integration/targets/include_when_parent_is_dynamic/syntax_error.yml new file mode 100644 index 0000000..101a18a --- /dev/null +++ b/test/integration/targets/include_when_parent_is_dynamic/syntax_error.yml @@ -0,0 +1 @@ +intentional syntax error which should NOT be encountered diff --git a/test/integration/targets/include_when_parent_is_dynamic/tasks.yml b/test/integration/targets/include_when_parent_is_dynamic/tasks.yml new file mode 100644 index 0000000..6831245 --- /dev/null +++ b/test/integration/targets/include_when_parent_is_dynamic/tasks.yml @@ -0,0 +1,12 @@ +# intentionally stop execution of the play before reaching the include below +# if the include is dynamic as expected it will not trigger a syntax error +# however, if the include is static a syntax error will occur +- name: EXPECTED FAILURE + fail: + msg: + This task should always execute. + The playbook would have failed due to a syntax error in 'syntax_error.yml' when attempting a static include of that file. + +# perform an include task which should be static if all of the task's parents are static, otherwise it should be dynamic +# this file was loaded using include_tasks, which is dynamic, so this include should also be dynamic +- include: syntax_error.yml |