diff --git a/lib/ansible/parsing/__init__.py b/lib/ansible/parsing/__init__.py index a7d414c0434..749a386572c 100644 --- a/lib/ansible/parsing/__init__.py +++ b/lib/ansible/parsing/__init__.py @@ -112,15 +112,19 @@ class DataLoader(): return parsed_data def path_exists(self, path): + path = self.path_dwim(path) return os.path.exists(path) def is_file(self, path): + path = self.path_dwim(path) return os.path.isfile(path) def is_directory(self, path): + path = self.path_dwim(path) return os.path.isdir(path) def list_directory(self, path): + path = self.path_dwim(path) return os.listdir(path) def _safe_load(self, stream, file_name=None): diff --git a/test/units/mock/loader.py b/test/units/mock/loader.py index f44df2efdbc..88f3970913a 100644 --- a/test/units/mock/loader.py +++ b/test/units/mock/loader.py @@ -29,11 +29,11 @@ class DictDataLoader(DataLoader): def __init__(self, file_mapping=dict()): assert type(file_mapping) == dict + super(DictDataLoader, self).__init__() + self._file_mapping = file_mapping self._build_known_directories() - super(DictDataLoader, self).__init__() - def load_from_file(self, path): if path in self._file_mapping: return self.load(self._file_mapping[path], path) @@ -73,7 +73,7 @@ class DictDataLoader(DataLoader): rebuild_dirs = False if path not in self._file_mapping: rebuild_dirs = True - + self._file_mapping[path] = content if rebuild_dirs: