diff options
| author | Anthony Sottile <asottile@umich.edu> | 2020-01-13 05:31:57 +0000 |
|---|---|---|
| committer | Anthony Sottile <asottile@umich.edu> | 2020-01-13 05:31:57 +0000 |
| commit | b56c88fe654af09161a66bf81e00481fa5d2d8c5 (patch) | |
| tree | b78f9607faac7419731829536970f402b7405ce2 | |
| parent | 44d67e46f5ebe6bc458fe7b18a7b8821e7b2391e (diff) | |
| parent | eb6698c420bc62e4069377f8112c96893d30dd85 (diff) | |
| download | flake8-b56c88fe654af09161a66bf81e00481fa5d2d8c5.tar.gz | |
Merge branch 'config-finder-extra-files-optional' into 'master'
config: Make ConfigFileFinder 'extra_config_files' parameter optional
See merge request pycqa/flake8!402
| -rw-r--r-- | src/flake8/options/config.py | 7 | ||||
| -rw-r--r-- | tests/integration/test_aggregator.py | 3 | ||||
| -rw-r--r-- | tests/unit/test_config_file_finder.py | 23 | ||||
| -rw-r--r-- | tests/unit/test_get_local_plugins.py | 2 | ||||
| -rw-r--r-- | tests/unit/test_legacy_api.py | 2 | ||||
| -rw-r--r-- | tests/unit/test_merged_config_parser.py | 2 |
6 files changed, 17 insertions, 22 deletions
diff --git a/src/flake8/options/config.py b/src/flake8/options/config.py index af163ca..ed8c096 100644 --- a/src/flake8/options/config.py +++ b/src/flake8/options/config.py @@ -19,11 +19,11 @@ class ConfigFileFinder(object): def __init__( self, program_name, - extra_config_files, + extra_config_files=None, config_file=None, ignore_config_files=False, ): - # type: (str, List[str], Optional[str], bool) -> None + # type: (str, Optional[List[str]], Optional[str], bool) -> None """Initialize object to find config files. :param str program_name: @@ -36,7 +36,8 @@ class ConfigFileFinder(object): Determine whether to ignore configuration files or not. """ # The values of --append-config from the CLI - extra_config_files = extra_config_files or [] + if extra_config_files is None: + extra_config_files = [] self.extra_config_files = utils.normalize_paths(extra_config_files) # The value of --config from the CLI. diff --git a/tests/integration/test_aggregator.py b/tests/integration/test_aggregator.py index 16ed59b..2bdea70 100644 --- a/tests/integration/test_aggregator.py +++ b/tests/integration/test_aggregator.py @@ -32,7 +32,6 @@ def test_aggregate_options_with_config(optmanager): 'E11,E34,E402,W,F', '--exclude', 'tests/*'] config_finder = config.ConfigFileFinder( 'flake8', - [], config_file=CLI_SPECIFIED_CONFIG) options, args = aggregator.aggregate_options( optmanager, config_finder, arguments) @@ -47,7 +46,7 @@ def test_aggregate_options_when_isolated(optmanager): arguments = ['flake8', '--select', 'E11,E34,E402,W,F', '--exclude', 'tests/*'] config_finder = config.ConfigFileFinder( - 'flake8', [], ignore_config_files=True) + 'flake8', ignore_config_files=True) optmanager.extend_default_ignore(['E8']) options, args = aggregator.aggregate_options( optmanager, config_finder, arguments) diff --git a/tests/unit/test_config_file_finder.py b/tests/unit/test_config_file_finder.py index 93d515a..797d58a 100644 --- a/tests/unit/test_config_file_finder.py +++ b/tests/unit/test_config_file_finder.py @@ -21,14 +21,14 @@ BROKEN_CONFIG_PATH = 'tests/fixtures/config_files/broken.ini' def test_windows_detection(platform, is_windows): """Verify we detect Windows to the best of our knowledge.""" with mock.patch.object(sys, 'platform', platform): - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') assert finder.is_windows is is_windows def test_cli_config(): """Verify opening and reading the file specified via the cli.""" cli_filepath = CLI_SPECIFIED_FILEPATH - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') parsed_config = finder.cli_config(cli_filepath) assert parsed_config.has_section('flake8') @@ -36,7 +36,7 @@ def test_cli_config(): def test_cli_config_double_read(): """Second request for CLI config is cached.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') parsed_config = finder.cli_config(CLI_SPECIFIED_FILEPATH) boom = Exception("second request for CLI config not cached") @@ -61,7 +61,7 @@ def test_cli_config_double_read(): ]) def test_generate_possible_local_files(cwd, expected): """Verify generation of all possible config paths.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') with mock.patch.object(os, 'getcwd', return_value=cwd): config_files = list(finder.generate_possible_local_files()) @@ -91,14 +91,14 @@ def test_local_config_files(extra_config_files, expected): def test_local_configs(): """Verify we return a ConfigParser.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') assert isinstance(finder.local_configs(), configparser.RawConfigParser) def test_local_configs_double_read(): """Second request for local configs is cached.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') first_read = finder.local_configs() boom = Exception("second request for local configs not cached") @@ -129,24 +129,20 @@ def test_read_config_catches_decoding_errors(tmpdir): def test_config_file_default_value(): """Verify the default 'config_file' attribute value.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') assert finder.config_file is None def test_setting_config_file_value(): """Verify the 'config_file' attribute matches constructed value.""" config_file_value = 'flake8.ini' - finder = config.ConfigFileFinder( - 'flake8', - [], - config_file=config_file_value, - ) + finder = config.ConfigFileFinder('flake8', config_file=config_file_value) assert finder.config_file == config_file_value def test_ignore_config_files_default_value(): """Verify the default 'ignore_config_files' attribute value.""" - finder = config.ConfigFileFinder('flake8', []) + finder = config.ConfigFileFinder('flake8') assert finder.ignore_config_files is False @@ -158,7 +154,6 @@ def test_setting_ignore_config_files_value(ignore_config_files_arg): """Verify the 'ignore_config_files' attribute matches constructed value.""" finder = config.ConfigFileFinder( 'flake8', - [], ignore_config_files=ignore_config_files_arg ) assert finder.ignore_config_files is ignore_config_files_arg diff --git a/tests/unit/test_get_local_plugins.py b/tests/unit/test_get_local_plugins.py index 351be20..ec11998 100644 --- a/tests/unit/test_get_local_plugins.py +++ b/tests/unit/test_get_local_plugins.py @@ -35,7 +35,7 @@ def test_get_local_plugins_uses_cli_config(): def test_get_local_plugins(): """Verify get_local_plugins returns expected plugins.""" 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: localcfs.return_value = [config_fixture_path] diff --git a/tests/unit/test_legacy_api.py b/tests/unit/test_legacy_api.py index 7c7a47e..886355f 100644 --- a/tests/unit/test_legacy_api.py +++ b/tests/unit/test_legacy_api.py @@ -22,7 +22,7 @@ def test_get_style_guide(): mockedapp.parse_preliminary_options.return_value = (prelim_opts, []) mockedapp.program = 'flake8' with mock.patch('flake8.api.legacy.config.ConfigFileFinder') as mock_config_finder: # noqa: E501 - config_finder = ConfigFileFinder(mockedapp.program, []) + config_finder = ConfigFileFinder(mockedapp.program) mock_config_finder.return_value = config_finder with mock.patch('flake8.main.application.Application') as application: diff --git a/tests/unit/test_merged_config_parser.py b/tests/unit/test_merged_config_parser.py index 6689776..2eaa4b3 100644 --- a/tests/unit/test_merged_config_parser.py +++ b/tests/unit/test_merged_config_parser.py @@ -17,7 +17,7 @@ def optmanager(): @pytest.fixture def config_finder(): """Generate a simple ConfigFileFinder.""" - return config.ConfigFileFinder('flake8', []) + return config.ConfigFileFinder('flake8') def test_parse_cli_config(optmanager, config_finder): |
