diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py index 6e8ddaf..c7859b9 100644 --- a/src/flake8/main/application.py +++ b/src/flake8/main/application.py @@ -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: diff --git a/tests/unit/test_application.py b/tests/unit/test_application.py index 5ec9f1f..cb8372b 100644 --- a/tests/unit/test_application.py +++ b/tests/unit/test_application.py @@ -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 == []