mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-06 21:16:54 +00:00
aggregator: Forward --config and --isolated options during aggregation
This fixes a regression introduced in !346 to ensure that `--config` and `--isolated` are recognized in `aggregate_options()`. The regression manifested because `aggregate_options()` was relying on re-parsing `argv` to obtain the option values. However, !346 changed the preliminary parsing logic to only parse and "eat" what is necessary and forward along the options needed before all the configuration was loaded. This code path was overlooked because the tests in `test_aggregator()` were passing but the call from the `Application` object would never have these options in the remaining `argv` list to be passed long.
This commit is contained in:
parent
bb61b3df82
commit
7f9f70064c
5 changed files with 46 additions and 19 deletions
|
|
@ -28,13 +28,12 @@ def optmanager():
|
|||
|
||||
def test_aggregate_options_with_config(optmanager):
|
||||
"""Verify we aggregate options and config values appropriately."""
|
||||
arguments = ['flake8', '--config', CLI_SPECIFIED_CONFIG, '--select',
|
||||
arguments = ['flake8', '--select',
|
||||
'E11,E34,E402,W,F', '--exclude', 'tests/*']
|
||||
config_finder = config.ConfigFileFinder('flake8', [])
|
||||
options, args = aggregator.aggregate_options(
|
||||
optmanager, config_finder, arguments)
|
||||
optmanager, config_finder, CLI_SPECIFIED_CONFIG, False, arguments)
|
||||
|
||||
assert options.config == CLI_SPECIFIED_CONFIG
|
||||
assert options.select == ['E11', 'E34', 'E402', 'W', 'F']
|
||||
assert options.ignore == ['E123', 'W234', 'E111']
|
||||
assert options.exclude == [os.path.abspath('tests/*')]
|
||||
|
|
@ -42,14 +41,13 @@ def test_aggregate_options_with_config(optmanager):
|
|||
|
||||
def test_aggregate_options_when_isolated(optmanager):
|
||||
"""Verify we aggregate options and config values appropriately."""
|
||||
arguments = ['flake8', '--isolated', '--select', 'E11,E34,E402,W,F',
|
||||
arguments = ['flake8', '--select', 'E11,E34,E402,W,F',
|
||||
'--exclude', 'tests/*']
|
||||
config_finder = config.ConfigFileFinder('flake8', [])
|
||||
optmanager.extend_default_ignore(['E8'])
|
||||
options, args = aggregator.aggregate_options(
|
||||
optmanager, config_finder, arguments)
|
||||
optmanager, config_finder, None, True, arguments)
|
||||
|
||||
assert options.isolated is True
|
||||
assert options.select == ['E11', 'E34', 'E402', 'W', 'F']
|
||||
assert sorted(options.ignore) == [
|
||||
'E121', 'E123', 'E126', 'E226', 'E24', 'E704', 'E8', 'W503', 'W504',
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ def test_get_style_guide():
|
|||
mockedapp.find_plugins.assert_called_once_with(config_finder, None, False)
|
||||
mockedapp.register_plugin_options.assert_called_once_with()
|
||||
mockedapp.parse_configuration_and_cli.assert_called_once_with(
|
||||
config_finder, [])
|
||||
config_finder, None, False, [])
|
||||
mockedapp.make_formatter.assert_called_once_with()
|
||||
mockedapp.make_guide.assert_called_once_with()
|
||||
mockedapp.make_file_checker_manager.assert_called_once_with()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue