summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/template/lazy_eval.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/template/lazy_eval.yml')
-rw-r--r--test/integration/targets/template/lazy_eval.yml24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/integration/targets/template/lazy_eval.yml b/test/integration/targets/template/lazy_eval.yml
new file mode 100644
index 0000000..856b710
--- /dev/null
+++ b/test/integration/targets/template/lazy_eval.yml
@@ -0,0 +1,24 @@
+- hosts: testhost
+ gather_facts: false
+ vars:
+ deep_undefined: "{{ nested_undefined_variable }}"
+ tasks:
+ - name: These do not throw an error, deep_undefined is just evaluated to undefined, since 2.14
+ assert:
+ that:
+ - lazy_eval or deep_undefined
+ - deep_undefined is undefined
+ - deep_undefined|default('defaulted') == 'defaulted'
+ vars:
+ lazy_eval: true
+
+ - name: EXPECTED FAILURE actually using deep_undefined fails
+ debug:
+ msg: "{{ deep_undefined }}"
+ ignore_errors: true
+ register: res
+
+ - assert:
+ that:
+ - res.failed
+ - res.msg is contains("'nested_undefined_variable' is undefined")