Open
Description
Issue
Tox hangs when using certain PEP 517 backends such as pdm-backend
together with the --installpkg
option.
It is the option that, for instance, devpi-client
opts to use for the devpi test
command.
Interesting that it only happens if tox
is run with at least two environments. Only one environment does not trigger the issue.
Environment
CPython 3.12 on Ubuntu/Debian Linux.
The issue is reproducible with the official python:3.12
Docker image (see below).
Output of running tox
The output is indistinguishable from the normal, expected output unless the --exit-and-dump-after
option is used.
Minimal example
Consider the following self-contained example, let's assume it is saved under /tmp/test.sh
:
#!/bin/bash
set -e
set -x
python -m venv /tmp/venv
source /tmp/venv/bin/activate
pip install -qU build pip tox
mkdir -p /tmp/skeleton/skeleton
cat << EOF > /tmp/skeleton/pyproject.toml
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[project]
name = "skeleton"
description = "Just a skeleton for reproducing a tox issue."
version = "0.1.1337"
dependencies = [
"requests",
]
[tool.pdm.build]
includes = [
"skeleton/",
]
source-includes = [
"tests/",
"tox.ini",
]
EOF
cat << EOF > /tmp/skeleton/tox.ini
[tox]
envlist = dummy1,dummy2
[testenv:dummy1]
commands =
python -c print(1)
[testenv:dummy2]
commands =
python -c print(42)
EOF
pushd /tmp/skeleton
python -m build --sdist
popd
tox --installpkg /tmp/skeleton/dist/skeleton-0.1.1337.tar.gz -c /tmp/skeleton/tox.ini
Now, run this /tmp/test.sh
inside the python:3.12
Docker image:
docker run --rm -it -v /tmp/test.sh:/tmp/test.sh python:3.12 /bin/bash /tmp/test.sh
Metadata
Metadata
Assignees
Labels
No labels