def matchtasks(self, file, text): matches = [] yaml = utils.parse_yaml_linenumbers(text) if yaml: for task in utils.get_action_tasks(yaml, file): # An empty `tags` block causes `None` to be returned if # the `or []` is not present - `task.get('tags', [])` # does not suffice. if 'skip_ansible_lint' in (task.get('tags') or []): continue if 'action' in task: result = self.matchtask(file, task) if result: message = None if isinstance(result, string_types): message = result taskstr = "Task/Handler: " + utils.task_to_str(task) matches.append(Match(task[utils.LINE_NUMBER_KEY], taskstr, file['path'], self, message)) return matches
def test_task_to_str_unicode(): """Ensure that extracting messages from tasks preserves Unicode.""" task = dict(fail=dict(msg=u"unicode é ô à")) result = utils.task_to_str(utils.normalize_task(task, 'filename.yml')) assert result == u"fail msg=unicode é ô à"
def test_task_to_str_unicode(self): task = dict(fail=dict(msg=u"unicode é ô à")) result = utils.task_to_str(utils.normalize_task(task, 'filename.yml')) self.assertEqual(result, u"fail msg=unicode é ô à")
def test_task_to_str_unicode(): task = dict(fail=dict(msg=u"unicode é ô à")) result = utils.task_to_str(utils.normalize_task(task, 'filename.yml')) assert result == u"fail msg=unicode é ô à"