Skip to content

test_venv failure output is inscrutable #93957

@jaraco

Description

@jaraco

With this Dockerfile, I can confirm the proposed fix in Setuptools has the desired effect:

FROM jaraco/multipy-tox RUN apt install -y libarchive-tools RUN apt install -y build-essential gdb lcov pkg-config libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev RUN wget -O - https://github.com/python/cpython/archive/refs/heads/3.9.zip | bsdtar -xf - WORKDIR cpython-3.9 RUN sh ./configure --prefix /opt/python RUN make install RUN chmod u+x /opt/python/lib/python3.9/test/ziptestdata/exe_with_* WORKDIR / RUN /opt/python/bin/python3 -m pip install --upgrade pip RUN /opt/python/bin/python3 -m pip install git+https://github.com/pypa/setuptools@bugfix/3383-cpython-sensitive-tests CMD /opt/python/bin/python3 -m test

...

Unfortunately, it also creates its own regression in test_venv:

$ docker run -it -v /Users/jaraco/p/pypa/setuptools:/src @$(docker build -q .) /opt/python/bin/py thon3 -m test test_venv 0:00:00 load avg: 0.04 Run tests sequentially 0:00:00 load avg: 0.04 [1/1] test_venv test test_venv failed -- Traceback (most recent call last): File "/opt/python/lib/python3.9/test/test_venv.py", line 544, in test_with_pip self.do_test_with_pip(True) File "/opt/python/lib/python3.9/test/test_venv.py", line 511, in do_test_with_pip out, err = check_output([envpy, File "/opt/python/lib/python3.9/test/test_venv.py", line 44, in check_output raise subprocess.CalledProcessError( subprocess.CalledProcessError: Command '['/tmp/tmpqts0cln1/bin/python3', '-W', 'ignore::DeprecationWarning', '-I', '-m', 'ensurepip._uninstall']' returned non-zero exit status 1. test_venv failed (1 error) == Tests result: FAILURE == 1 test failed: test_venv Total duration: 5.7 sec Tests result: FAILURE 

And annoyingly, that error message is all but worthless for diagnosis.

Originally posted by @jaraco in #91169 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions