Fixes #70984
(cherry picked from commit bf7276a4e8
)
This commit is contained in:
parent
0c6edb34f9
commit
0c32a4f793
3 changed files with 15 additions and 0 deletions
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- templating - fix error message for ``x in y`` when y is undefined (https://github.com/ansible/ansible/issues/70984)
|
|
@ -309,6 +309,10 @@ class AnsibleUndefined(StrictUndefined):
|
|||
def __repr__(self):
|
||||
return 'AnsibleUndefined'
|
||||
|
||||
def __contains__(self, item):
|
||||
# Return original Undefined object to preserve the first failure context
|
||||
return self
|
||||
|
||||
|
||||
class AnsibleContext(Context):
|
||||
'''
|
||||
|
|
|
@ -706,5 +706,14 @@
|
|||
- 'diff_result.stdout == ""'
|
||||
- "diff_result.rc == 0"
|
||||
|
||||
- debug:
|
||||
msg: "{{ 'x' in y }}"
|
||||
ignore_errors: yes
|
||||
register: error
|
||||
|
||||
- name: check that proper error message is emitted when in operator is used
|
||||
assert:
|
||||
that: "\"'y' is undefined\" in error.msg"
|
||||
|
||||
# aliases file requires root for template tests so this should be safe
|
||||
- include: backup_test.yml
|
||||
|
|
Loading…
Reference in a new issue