-
-
Notifications
You must be signed in to change notification settings - Fork 542
Closed
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.iniNow, 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