summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-10-23 17:58:38 +0000
committerAnthony Sottile <asottile@umich.edu>2019-10-23 17:58:38 +0000
commite2c4b50a46e7913e55f79f328ccf1257f74b8a2a (patch)
tree41e7e637bd944f3dc66130a866bb2bf1a038f63b /tests
parente0612597094234cd7acaad3d64b6c7071cdf1831 (diff)
parent66f832d291faa6cf363546be19a625eda060475c (diff)
downloadflake8-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.py4
-rw-r--r--tests/unit/test_config_file_finder.py71
-rw-r--r--tests/unit/test_get_local_plugins.py2
-rw-r--r--tests/unit/test_legacy_api.py2
-rw-r--r--tests/unit/test_merged_config_parser.py2
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):