-
-
Couldn't load subscription status.
- Fork 2.9k
Closed
Labels
status: help wanteddevelopers would like help from experts on this topicdevelopers would like help from experts on this topictype: bugproblem that needs to be addressedproblem that needs to be addressed
Description
I am seeing an issue when passing a very long command-line argument to pytest. It fails to run with the following error:
INTERNALERROR> File "/venv/lib/python3.11/site-packages/_pytest/main.py", line 333, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> File "/venv/lib/python3.11/site-packages/_pytest/main.py", line 638, in perform_collect INTERNALERROR> fspath, parts = resolve_collection_argument( INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/venv/lib/python3.11/site-packages/_pytest/main.py", line 889, in resolve_collection_argument INTERNALERROR> File "/venv/lib/python3.11/site-packages/_pytest/main.py", line 889, in resolve_collection_argument INTERNALERROR> if not fspath.exists(): INTERNALERROR> ^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/local/lib/python3.11/pathlib.py", line 1235, in exists INTERNALERROR> self.stat() INTERNALERROR> File "/usr/local/lib/python3.11/pathlib.py", line 1013, in stat INTERNALERROR> return os.stat(self, follow_symlinks=follow_symlinks) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> OSError: [Errno 36] File name too long: '/pwd/tests/very,long,comma-seperated,value,for,long_list' Pytest version:
Tested with 7.3.2 and 7.4.1
pip list output:
--------------------- --------- allure-pytest 2.13.2 allure-python-commons 2.13.2 ansi2html 1.8.0 attrs 23.1.0 boto3 1.28.40 botocore 1.31.40 certifi 2023.7.22 chardet 5.2.0 charset-normalizer 3.2.0 click 8.1.3 contourpy 1.0.7 cycler 0.11.0 datadog 0.45.0 execnet 1.9.0 filelock 3.12.0 fonttools 4.39.4 gitdb 4.0.10 GitPython 3.1.31 idna 3.4 iniconfig 2.0.0 Jinja2 3.1.2 jmespath 1.0.1 kiwisolver 1.4.4 markdown-it-py 2.2.0 MarkupSafe 2.1.3 matplotlib 3.7.1 mdurl 0.1.2 numpy 1.24.3 packaging 23.1 pandas 1.5.3 Pillow 9.5.0 pip 22.3.1 pluggy 1.0.0 py 1.11.0 Pygments 2.15.1 pyparsing 3.0.9 pytest 7.4.1 pytest-html 4.0.0 pytest-metadata 2.0.4 pytest-xdist 3.3.1 python-dateutil 2.8.2 pytz 2022.7.1 requests 2.31.0 rich 13.3.5 s3transfer 0.6.2 setuptools 65.5.0 six 1.16.0 smmap 5.0.0 urllib3 1.26.16 Example usage:
conftest.py:
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(',') Invocation:
pytest /test_my_thing.py --long-list a,b,c,d,e,f
Note: the actual length of the string passed to --long-list is 396 characters
This seems to be similar to #10169
Metadata
Metadata
Assignees
Labels
status: help wanteddevelopers would like help from experts on this topicdevelopers would like help from experts on this topictype: bugproblem that needs to be addressedproblem that needs to be addressed