diff options
| author | Anthony Sottile <asottile@umich.edu> | 2019-10-23 17:58:38 +0000 |
|---|---|---|
| committer | Anthony Sottile <asottile@umich.edu> | 2019-10-23 17:58:38 +0000 |
| commit | e2c4b50a46e7913e55f79f328ccf1257f74b8a2a (patch) | |
| tree | 41e7e637bd944f3dc66130a866bb2bf1a038f63b /tests | |
| parent | e0612597094234cd7acaad3d64b6c7071cdf1831 (diff) | |
| parent | 66f832d291faa6cf363546be19a625eda060475c (diff) | |
| download | flake8-e2c4b50a46e7913e55f79f328ccf1257f74b8a2a.tar.gz | |
Merge branch 'config-search-relative-to-cwd' into 'master'
Simplify configuration file search to be relative to cwd
See merge request pycqa/flake8!363
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/integration/test_aggregator.py | 4 | ||||
| -rw-r--r-- | tests/unit/test_config_file_finder.py | 71 | ||||
| -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 |
5 files changed, 29 insertions, 52 deletions
diff --git a/tests/integration/test_aggregator.py b/tests/integration/test_aggregator.py index c789624..a0e0940 100644 --- a/tests/integration/test_aggregator.py +++ b/tests/integration/test_aggregator.py @@ -26,7 +26,7 @@ def test_aggregate_options_with_config(optmanager): """Verify we aggregate options and config values appropriately.""" arguments = ['flake8', '--config', CLI_SPECIFIED_CONFIG, '--select', 'E11,E34,E402,W,F', '--exclude', 'tests/*'] - config_finder = config.ConfigFileFinder('flake8', arguments, []) + config_finder = config.ConfigFileFinder('flake8', []) options, args = aggregator.aggregate_options( optmanager, config_finder, arguments) @@ -40,7 +40,7 @@ def test_aggregate_options_when_isolated(optmanager): """Verify we aggregate options and config values appropriately.""" arguments = ['flake8', '--isolated', '--select', 'E11,E34,E402,W,F', '--exclude', 'tests/*'] - config_finder = config.ConfigFileFinder('flake8', arguments, []) + config_finder = config.ConfigFileFinder('flake8', []) 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 c51e1f2..1c8330f 100644 --- a/tests/unit/test_config_file_finder.py +++ b/tests/unit/test_config_file_finder.py @@ -13,12 +13,6 @@ CLI_SPECIFIED_FILEPATH = 'tests/fixtures/config_files/cli-specified.ini' BROKEN_CONFIG_PATH = 'tests/fixtures/config_files/broken.ini' -def test_uses_default_args(): - """Show that we default the args value.""" - finder = config.ConfigFileFinder('flake8', [], []) - assert finder.parent == os.path.abspath('.') - - @pytest.mark.parametrize('platform,is_windows', [ ('win32', True), ('linux', False), @@ -27,14 +21,14 @@ def test_uses_default_args(): 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') @@ -42,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") @@ -52,75 +46,58 @@ def test_cli_config_double_read(): assert parsed_config is parsed_config_2 -@pytest.mark.parametrize('args,expected', [ - # No arguments, common prefix of abspath('.') - ([], +@pytest.mark.parametrize('cwd,expected', [ + # Root directory of project + ('.', [os.path.abspath('setup.cfg'), os.path.abspath('tox.ini')]), - # Common prefix of "flake8/" - (['flake8/options', 'flake8/'], - [os.path.abspath('setup.cfg'), - os.path.abspath('tox.ini')]), - # Common prefix of "flake8/options" - (['flake8/options', 'flake8/options/sub'], + # Subdirectory of project directory + ('src', [os.path.abspath('setup.cfg'), os.path.abspath('tox.ini')]), + # Outside of project directory + ('/', + []), ]) -def test_generate_possible_local_files(args, expected): +def test_generate_possible_local_files(cwd, expected): """Verify generation of all possible config paths.""" - finder = config.ConfigFileFinder('flake8', args, []) + with mock.patch.object(os, 'getcwd', return_value=cwd): + finder = config.ConfigFileFinder('flake8', []) assert (list(finder.generate_possible_local_files()) == expected) -@pytest.mark.parametrize('args,extra_config_files,expected', [ - # No arguments, common prefix of abspath('.') - ([], - [], - [os.path.abspath('setup.cfg'), - os.path.abspath('tox.ini')]), - # Common prefix of "flake8/" - (['flake8/options', 'flake8/'], - [], - [os.path.abspath('setup.cfg'), - os.path.abspath('tox.ini')]), - # Common prefix of "flake8/options" - (['flake8/options', 'flake8/options/sub'], - [], - [os.path.abspath('setup.cfg'), - os.path.abspath('tox.ini')]), - # Common prefix of "flake8/" with extra config files specified - (['flake8/'], - [CLI_SPECIFIED_FILEPATH], +@pytest.mark.parametrize('extra_config_files,expected', [ + # Extra config files specified + ([CLI_SPECIFIED_FILEPATH], [os.path.abspath('setup.cfg'), os.path.abspath('tox.ini'), os.path.abspath(CLI_SPECIFIED_FILEPATH)]), - # Common prefix of "flake8/" with missing extra config files specified - (['flake8/'], - [CLI_SPECIFIED_FILEPATH, - 'tests/fixtures/config_files/missing.ini'], + # Missing extra config files specified + ([CLI_SPECIFIED_FILEPATH, + 'tests/fixtures/config_files/missing.ini'], [os.path.abspath('setup.cfg'), os.path.abspath('tox.ini'), os.path.abspath(CLI_SPECIFIED_FILEPATH)]), ]) -def test_local_config_files(args, extra_config_files, expected): +def test_local_config_files(extra_config_files, expected): """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 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") diff --git a/tests/unit/test_get_local_plugins.py b/tests/unit/test_get_local_plugins.py index b2f985e..fa9c1a4 100644 --- a/tests/unit/test_get_local_plugins.py +++ b/tests/unit/test_get_local_plugins.py @@ -31,7 +31,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 369fb2f..49daf79 100644 --- a/tests/unit/test_legacy_api.py +++ b/tests/unit/test_legacy_api.py @@ -28,7 +28,7 @@ def test_get_style_guide(): application.assert_called_once_with() mockedapp.parse_preliminary_options_and_args.assert_called_once_with([]) - mockedapp.make_config_finder.assert_called_once_with([], []) + mockedapp.make_config_finder.assert_called_once_with([]) mockedapp.find_plugins.assert_called_once_with(None, False) mockedapp.register_plugin_options.assert_called_once_with() mockedapp.parse_configuration_and_cli.assert_called_once_with([]) diff --git a/tests/unit/test_merged_config_parser.py b/tests/unit/test_merged_config_parser.py index 56ee893..77b1ba0 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): |
