Fix crash when passing a very long cmdline argument

Fixes #11394
This commit is contained in:
Bruno Oliveira 2023-09-07 09:53:03 -03:00
parent e787d2ed48
commit 6536514f92
1 changed files with 24 additions and 0 deletions

View File

@ -262,3 +262,27 @@ def test_module_full_path_without_drive(pytester: Pytester) -> None:
"* 1 passed in *", "* 1 passed in *",
] ]
) )
def test_very_long_cmdline_arg(pytester: Pytester) -> None:
pytester.makeconftest(
"""
import pytest
def pytest_addoption(parser):
parser.addoption("--long-list", dest="long_list", action="store", default="all", help="List of things")
@pytest.fixture(scope="module")
def specified_feeds(request):
list_string = request.config.getoption("--long-list")
return list_string.split(',')
"""
)
pytester.makepyfile(
"""
def test_foo(specified_feeds):
assert len(specified_feeds) == 100_000
"""
)
result = pytester.runpytest("--long-list", ",".join(["helloworld"] * 100_000))
result.stdout.fnmatch_lines("* 1 passed *")