From fe06577ac284de31718c4723809b1d5e1cf5ca4f Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 20 Aug 2015 21:52:46 -0400 Subject: [PATCH] fixed mandatory test --- lib/ansible/plugins/test/core.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/ansible/plugins/test/core.py b/lib/ansible/plugins/test/core.py index cc8c702d754..7de8e7436ca 100644 --- a/lib/ansible/plugins/test/core.py +++ b/lib/ansible/plugins/test/core.py @@ -58,15 +58,6 @@ def skipped(*a, **kw): skipped = item.get('skipped', False) return skipped -def mandatory(a): - ''' Make a variable mandatory ''' - try: - a - except NameError: - raise errors.AnsibleFilterError('Mandatory variable not defined.') - else: - return a - def regex(value='', pattern='', ignorecase=False, match_type='search'): ''' Expose `re` as a boolean filter using the `search` method by default. This is likely only useful for `search` and `match` which already @@ -88,6 +79,14 @@ def search(value, pattern='', ignorecase=False): ''' Perform a `re.search` returning a boolean ''' return regex(value, pattern, ignorecase, 'search') +def mandatory(a): + from jinja2.runtime import Undefined + + ''' Make a variable mandatory ''' + if isinstance(a, Undefined): + raise errors.AnsibleFilterError('Mandatory variable not defined.') + return a + class TestModule(object): ''' Ansible core jinja2 tests '''