config: Remove args parameter from ConfigFileFinder.__init__

Now that `args` parameters is not being used, it is safe to remove from
the constructor signature.

Further work is required to evaluate and clean-up tearing out the
threading-through of `args` from various callers and tests.
This commit is contained in:
Eric N. Vander Weele 2019-10-12 22:22:08 +01:00
parent b3a31496b7
commit 584402fa1c
6 changed files with 15 additions and 17 deletions

View file

@ -163,7 +163,7 @@ class Application(object):
""" """
if self.config_finder is None: if self.config_finder is None:
self.config_finder = config.ConfigFileFinder( self.config_finder = config.ConfigFileFinder(
self.option_manager.program_name, args, append_config self.option_manager.program_name, append_config
) )
def find_plugins(self, config_file, ignore_config_files): def find_plugins(self, config_file, ignore_config_files):

View file

@ -16,14 +16,12 @@ __all__ = ("ConfigFileFinder", "MergedConfigParser")
class ConfigFileFinder(object): class ConfigFileFinder(object):
"""Encapsulate the logic for finding and reading config files.""" """Encapsulate the logic for finding and reading config files."""
def __init__(self, program_name, args, extra_config_files): def __init__(self, program_name, extra_config_files):
# type: (str, List[str], List[str]) -> None # type: (str, List[str]) -> None
"""Initialize object to find config files. """Initialize object to find config files.
:param str program_name: :param str program_name:
Name of the current program (e.g., flake8). Name of the current program (e.g., flake8).
:param list args:
The extra arguments passed on the command-line.
:param list extra_config_files: :param list extra_config_files:
Extra configuration files specified by the user to read. Extra configuration files specified by the user to read.
""" """

View file

@ -26,7 +26,7 @@ def test_aggregate_options_with_config(optmanager):
"""Verify we aggregate options and config values appropriately.""" """Verify we aggregate options and config values appropriately."""
arguments = ['flake8', '--config', CLI_SPECIFIED_CONFIG, '--select', arguments = ['flake8', '--config', CLI_SPECIFIED_CONFIG, '--select',
'E11,E34,E402,W,F', '--exclude', 'tests/*'] 'E11,E34,E402,W,F', '--exclude', 'tests/*']
config_finder = config.ConfigFileFinder('flake8', arguments, []) config_finder = config.ConfigFileFinder('flake8', [])
options, args = aggregator.aggregate_options( options, args = aggregator.aggregate_options(
optmanager, config_finder, arguments) optmanager, config_finder, arguments)
@ -40,7 +40,7 @@ def test_aggregate_options_when_isolated(optmanager):
"""Verify we aggregate options and config values appropriately.""" """Verify we aggregate options and config values appropriately."""
arguments = ['flake8', '--isolated', '--select', 'E11,E34,E402,W,F', arguments = ['flake8', '--isolated', '--select', 'E11,E34,E402,W,F',
'--exclude', 'tests/*'] '--exclude', 'tests/*']
config_finder = config.ConfigFileFinder('flake8', arguments, []) config_finder = config.ConfigFileFinder('flake8', [])
optmanager.extend_default_ignore(['E8']) optmanager.extend_default_ignore(['E8'])
options, args = aggregator.aggregate_options( options, args = aggregator.aggregate_options(
optmanager, config_finder, arguments) optmanager, config_finder, arguments)

View file

@ -15,7 +15,7 @@ BROKEN_CONFIG_PATH = 'tests/fixtures/config_files/broken.ini'
def test_uses_default_args(): def test_uses_default_args():
"""Show that we default the args value.""" """Show that we default the args value."""
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
assert finder.parent == os.path.abspath('.') assert finder.parent == os.path.abspath('.')
@ -27,14 +27,14 @@ def test_uses_default_args():
def test_windows_detection(platform, is_windows): def test_windows_detection(platform, is_windows):
"""Verify we detect Windows to the best of our knowledge.""" """Verify we detect Windows to the best of our knowledge."""
with mock.patch.object(sys, 'platform', platform): with mock.patch.object(sys, 'platform', platform):
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
assert finder.is_windows is is_windows assert finder.is_windows is is_windows
def test_cli_config(): def test_cli_config():
"""Verify opening and reading the file specified via the cli.""" """Verify opening and reading the file specified via the cli."""
cli_filepath = CLI_SPECIFIED_FILEPATH cli_filepath = CLI_SPECIFIED_FILEPATH
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
parsed_config = finder.cli_config(cli_filepath) parsed_config = finder.cli_config(cli_filepath)
assert parsed_config.has_section('flake8') assert parsed_config.has_section('flake8')
@ -42,7 +42,7 @@ def test_cli_config():
def test_cli_config_double_read(): def test_cli_config_double_read():
"""Second request for CLI config is cached.""" """Second request for CLI config is cached."""
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
parsed_config = finder.cli_config(CLI_SPECIFIED_FILEPATH) parsed_config = finder.cli_config(CLI_SPECIFIED_FILEPATH)
boom = Exception("second request for CLI config not cached") boom = Exception("second request for CLI config not cached")
@ -68,7 +68,7 @@ def test_cli_config_double_read():
]) ])
def test_generate_possible_local_files(args, expected): def test_generate_possible_local_files(args, expected):
"""Verify generation of all possible config paths.""" """Verify generation of all possible config paths."""
finder = config.ConfigFileFinder('flake8', args, []) finder = config.ConfigFileFinder('flake8', [])
assert (list(finder.generate_possible_local_files()) assert (list(finder.generate_possible_local_files())
== expected) == expected)
@ -106,21 +106,21 @@ def test_generate_possible_local_files(args, expected):
]) ])
def test_local_config_files(args, extra_config_files, expected): def test_local_config_files(args, extra_config_files, expected):
"""Verify discovery of local config files.""" """Verify discovery of local config files."""
finder = config.ConfigFileFinder('flake8', args, extra_config_files) finder = config.ConfigFileFinder('flake8', extra_config_files)
assert list(finder.local_config_files()) == expected assert list(finder.local_config_files()) == expected
def test_local_configs(): def test_local_configs():
"""Verify we return a ConfigParser.""" """Verify we return a ConfigParser."""
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
assert isinstance(finder.local_configs(), configparser.RawConfigParser) assert isinstance(finder.local_configs(), configparser.RawConfigParser)
def test_local_configs_double_read(): def test_local_configs_double_read():
"""Second request for local configs is cached.""" """Second request for local configs is cached."""
finder = config.ConfigFileFinder('flake8', [], []) finder = config.ConfigFileFinder('flake8', [])
first_read = finder.local_configs() first_read = finder.local_configs()
boom = Exception("second request for local configs not cached") boom = Exception("second request for local configs not cached")

View file

@ -31,7 +31,7 @@ def test_get_local_plugins_uses_cli_config():
def test_get_local_plugins(): def test_get_local_plugins():
"""Verify get_local_plugins returns expected plugins.""" """Verify get_local_plugins returns expected plugins."""
config_fixture_path = 'tests/fixtures/config_files/local-plugin.ini' config_fixture_path = 'tests/fixtures/config_files/local-plugin.ini'
config_finder = config.ConfigFileFinder('flake8', [], []) config_finder = config.ConfigFileFinder('flake8', [])
with mock.patch.object(config_finder, 'local_config_files') as localcfs: with mock.patch.object(config_finder, 'local_config_files') as localcfs:
localcfs.return_value = [config_fixture_path] localcfs.return_value = [config_fixture_path]

View file

@ -17,7 +17,7 @@ def optmanager():
@pytest.fixture @pytest.fixture
def config_finder(): def config_finder():
"""Generate a simple ConfigFileFinder.""" """Generate a simple ConfigFileFinder."""
return config.ConfigFileFinder('flake8', [], []) return config.ConfigFileFinder('flake8', [])
def test_parse_cli_config(optmanager, config_finder): def test_parse_cli_config(optmanager, config_finder):