config: Remove ConfigFileFinder 'parent' and 'tail' attributes

These attributes are only needed within the
`.generate_possible_local_files()` method.  Therefore, just obtain the
current working directory at the beginning of the method and reduce the
lifetime state of the `ConfigFileFinder` object.
This commit is contained in:
Eric N. Vander Weele 2020-01-12 16:37:25 -08:00
parent 98d3d50295
commit e887ef3317
2 changed files with 6 additions and 8 deletions

View file

@ -51,8 +51,6 @@ class ConfigFileFinder(object):
self.local_directory = os.path.abspath(os.curdir)
self.parent = self.tail = os.getcwd()
# caches to avoid double-reading config files
self._local_configs = None
self._local_found_files = [] # type: List[str]
@ -96,8 +94,7 @@ class ConfigFileFinder(object):
def generate_possible_local_files(self):
"""Find and generate all local config files."""
tail = self.tail
parent = self.parent
parent = tail = os.getcwd()
found_config_files = False
while tail and not found_config_files:
for project_filename in self.project_filenames:

View file

@ -61,11 +61,12 @@ def test_cli_config_double_read():
])
def test_generate_possible_local_files(cwd, expected):
"""Verify generation of all possible config paths."""
with mock.patch.object(os, 'getcwd', return_value=cwd):
finder = config.ConfigFileFinder('flake8', [])
finder = config.ConfigFileFinder('flake8', [])
assert (list(finder.generate_possible_local_files())
== expected)
with mock.patch.object(os, 'getcwd', return_value=cwd):
config_files = list(finder.generate_possible_local_files())
assert config_files == expected
@pytest.mark.parametrize('extra_config_files,expected', [