mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-04 20:26:53 +00:00
Fixes handling of empty lists by Application
`Application.parse_preliminary_options_and_args` was previously, against expectations, treating empty lists passed as the `argv` argument the same way it treated `None`s. This has been addressed and the correct behavior tested for in a unit test of the `Application` class. See issue #518 for details.
This commit is contained in:
parent
88caf5ac48
commit
16ca17388a
2 changed files with 11 additions and 1 deletions
|
|
@ -122,7 +122,7 @@ class Application(object):
|
|||
# do not need to worry and we can continue. If it is, we successfully
|
||||
# defer printing the version until just a little bit later.
|
||||
# Similarly we have to defer printing the help text until later.
|
||||
args = (argv or sys.argv)[:]
|
||||
args = (argv if argv is not None else sys.argv)[:]
|
||||
try:
|
||||
args.remove("--version")
|
||||
except ValueError:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
"""Tests for the Application class."""
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
import mock
|
||||
import pytest
|
||||
|
|
@ -97,3 +98,12 @@ def test_prelim_opts_args(application):
|
|||
assert application.prelim_opts.statistics
|
||||
assert application.prelim_opts.verbose
|
||||
assert application.prelim_args == ['src', 'setup.py']
|
||||
|
||||
|
||||
def test_prelim_opts_handles_empty(application):
|
||||
"""Verify empty argv lists are handled correctly."""
|
||||
irrelevant_args = ['myexe', '/path/to/foo']
|
||||
with mock.patch.object(sys, 'argv', irrelevant_args):
|
||||
application.parse_preliminary_options_and_args([])
|
||||
|
||||
assert application.prelim_args != irrelevant_args
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue