From e887ef33177b1d7617c6f1cf816e323886863b64 Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Sun, 12 Jan 2020 16:37:25 -0800 Subject: [PATCH] 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. --- src/flake8/options/config.py | 5 +---- tests/unit/test_config_file_finder.py | 9 +++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/flake8/options/config.py b/src/flake8/options/config.py index 7261bcd..dab16c4 100644 --- a/src/flake8/options/config.py +++ b/src/flake8/options/config.py @@ -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: diff --git a/tests/unit/test_config_file_finder.py b/tests/unit/test_config_file_finder.py index c0231f8..d03118a 100644 --- a/tests/unit/test_config_file_finder.py +++ b/tests/unit/test_config_file_finder.py @@ -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', [