From 2260f5362ef3d136e4233d65735641d9714f9ffc Mon Sep 17 00:00:00 2001 From: "Eric N. Vander Weele" Date: Fri, 25 Oct 2019 15:01:30 -0400 Subject: [PATCH] application: Keep unknown options in the unknown argument list Positional arguments aren't necessary for determining where to load configuration anymore and is safe to keep both options and arguments to be forwarded for later parsing after configuration is loaded. --- src/flake8/main/application.py | 5 +---- tests/unit/test_application.py | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py index 0f86844..2354425 100644 --- a/src/flake8/main/application.py +++ b/src/flake8/main/application.py @@ -138,10 +138,7 @@ class Application(object): except ValueError: pass - opts, args = self.prelim_arg_parser.parse_known_args(args) - # parse_known_args includes unknown options as args - args = [a for a in args if not a.startswith("-")] - return opts, args + return self.prelim_arg_parser.parse_known_args(args) def exit(self): # type: () -> None diff --git a/tests/unit/test_application.py b/tests/unit/test_application.py index 15bc54d..edf853b 100644 --- a/tests/unit/test_application.py +++ b/tests/unit/test_application.py @@ -95,10 +95,8 @@ def test_prelim_opts_args(application): opts, args = application.parse_preliminary_options_and_args( ['--foo', '--verbose', 'src', 'setup.py', '--statistics']) - assert not hasattr(opts, 'foo') - assert not hasattr(opts, 'statistics') assert opts.verbose - assert args == ['src', 'setup.py'] + assert args == ['--foo', 'src', 'setup.py', '--statistics'] def test_prelim_opts_handles_empty(application):