Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tox -p hangs some processes forever on Windows/WSL (Ubuntu) #3224

Open
EmilStenstrom opened this issue Feb 17, 2024 · 3 comments
Open

tox -p hangs some processes forever on Windows/WSL (Ubuntu) #3224

EmilStenstrom opened this issue Feb 17, 2024 · 3 comments
Labels
help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.

Comments

@EmilStenstrom
Copy link

EmilStenstrom commented Feb 17, 2024

First of all, thank you for this great tool! Really appreciate your hard work 👍

Issue

I'm running tox to test https://github.com/EmilStenstrom/django-components/ (public project). Locally I install all the needed python versions (se bottom of readme) and run tox to go through all the tests. Everything works fine and all tests are green.

But when I run with tox -p most environments pass instantly, and the rest hangs forever.

I'm hoping it's reproducible by cloning the above repo, installing the required versions, and running tox -p in the root of the project.

Environment

Provide at least:

  • OS: Windows 11 with WSL with Ubuntu 22.04.4 LTS
  • I just installed everything from scratch on a new computer, and had the same problem on a Windows 10 computer with the WSL set up in a different way. Probably slightly older Ubuntu. Hoping it's reproducible.
Output of pip list of the host Python, where tox is installed
Package       Version
------------- -------
asgiref       3.7.2
cachetools    5.3.2
cfgv          3.4.0
chardet       5.2.0
colorama      0.4.6
distlib       0.3.8
Django        5.0.2
filelock      3.13.1
flake8        7.0.0
identify      2.5.33
iniconfig     2.0.0
isort         5.13.2
mccabe        0.7.0
nodeenv       1.8.0
packaging     23.2
pip           24.0
platformdirs  4.1.0
pluggy        1.3.0
pre-commit    3.6.1
pycodestyle   2.11.1
pyflakes      3.2.0
pyproject-api 1.6.1
pytest        8.0.0
PyYAML        6.0.1
setuptools    69.1.0
sqlparse      0.4.4
tox           4.12.1
virtualenv    20.25.0

Output of running tox

Output of tox -p -r -o (NOTE: Updated)
ROOT: will run in automatically provisioned tox, host /home/emilstenstrom/.pyenv/versions/3.12.2/envs/django-components/bin/python3.12 is missing [requires (has)]: virtualenv<20.22.0 (20.25.0)
ROOT: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/.tox
ROOT: install_deps> python -I -m pip install tox 'virtualenv<20.22.0'
ROOT: provision> .tox/.tox/bin/python -m tox -p -r -o
py36-django32: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py36-django32
py37-django32: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py37-django32
py38-django32: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py38-django32
py38-django40: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py38-django40
py38-django41: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py38-django41
py38-django42: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py38-django42
py39-django32: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py39-django32
py39-django40: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py39-django40
py39-django41: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py39-django41
py39-django42: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py39-django42
py310-django32: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py310-django32
py310-django40: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py310-django40
py310-django41: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py310-django41
py310-django42: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py310-django42
py310-django50: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py310-django50
py311-django41: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py311-django41
py311-django42: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py311-django42
py311-django50: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py311-django50
py312-django42: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py312-django42
py312-django50: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/py312-django50
flake8: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/flake8
isort: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/isort
coverage: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/coverage
.pkg: remove tox env folder /home/emilstenstrom/Projects/django-components/.tox/.pkg
py36-django32: install_deps> python -I -m pip install 'Django<3.3,>=3.2' flake8 isort pytest pytest-xdist
flake8: install_deps> python -I -m pip install flake8
py38-django40: install_deps> python -I -m pip install 'Django<4.1,>=4.0' flake8 isort pytest pytest-xdist
py39-django32: install_deps> python -I -m pip install 'Django<3.3,>=3.2' flake8 isort pytest pytest-xdist
py311-django41: install_deps> python -I -m pip install 'Django<4.2,>=4.1' flake8 isort pytest pytest-xdist
py312-django50: install_deps> python -I -m pip install 'Django<5.1,>=5.0' flake8 isort pytest pytest-xdist
py310-django42: install_deps> python -I -m pip install 'Django<4.3,>=4.2' flake8 isort pytest pytest-xdist
py39-django42: install_deps> python -I -m pip install 'Django<4.3,>=4.2' flake8 isort pytest pytest-xdist
py37-django32: install_deps> python -I -m pip install 'Django<3.3,>=3.2' flake8 isort pytest pytest-xdist
py38-django42: install_deps> python -I -m pip install 'Django<4.3,>=4.2' flake8 isort pytest pytest-xdist
py310-django32: install_deps> python -I -m pip install 'Django<3.3,>=3.2' flake8 isort pytest pytest-xdist
coverage: install_deps> python -I -m pip install pytest-coverage
py310-django50: install_deps> python -I -m pip install 'Django<5.1,>=5.0' flake8 isort pytest pytest-xdist
py38-django32: install_deps> python -I -m pip install 'Django<3.3,>=3.2' flake8 isort pytest pytest-xdist
py312-django42: install_deps> python -I -m pip install 'Django<4.3,>=4.2' flake8 isort pytest pytest-xdist
py39-django40: install_deps> python -I -m pip install 'Django<4.1,>=4.0' flake8 isort pytest pytest-xdist
py311-django42: install_deps> python -I -m pip install 'Django<4.3,>=4.2' flake8 isort pytest pytest-xdist
py38-django41: install_deps> python -I -m pip install 'Django<4.2,>=4.1' flake8 isort pytest pytest-xdist
py311-django50: install_deps> python -I -m pip install 'Django<5.1,>=5.0' flake8 isort pytest pytest-xdist
isort: install_deps> python -I -m pip install isort
py39-django41: install_deps> python -I -m pip install 'Django<4.2,>=4.1' flake8 isort pytest pytest-xdist
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' wheel
.pkg: _optional_hooks> python /home/emilstenstrom/Projects/django-components/.tox/.tox/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: get_requires_for_build_sdist> python /home/emilstenstrom/Projects/django-components/.tox/.tox/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: prepare_metadata_for_build_wheel> python /home/emilstenstrom/Projects/django-components/.tox/.tox/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: build_sdist> python /home/emilstenstrom/Projects/django-components/.tox/.tox/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
isort: install_package_deps> python -I -m pip install 'Django>=3.2'
flake8: install_package_deps> python -I -m pip install 'Django>=3.2'
coverage: install_package_deps> python -I -m pip install 'Django>=3.2'
py311-django41: install_package_deps> python -I -m pip install 'Django>=3.2'
py38-django40: install_package_deps> python -I -m pip install 'Django>=3.2'
py38-django42: install_package_deps> python -I -m pip install 'Django>=3.2'
py311-django50: install_package_deps> python -I -m pip install 'Django>=3.2'
py311-django42: install_package_deps> python -I -m pip install 'Django>=3.2'
py38-django41: install_package_deps> python -I -m pip install 'Django>=3.2'
py38-django32: install_package_deps> python -I -m pip install 'Django>=3.2'
py36-django32: install_package_deps> python -I -m pip install 'Django>=3.2'
py39-django42: install_package_deps> python -I -m pip install 'Django>=3.2'
py310-django42: install_package_deps> python -I -m pip install 'Django>=3.2'
py39-django32: install_package_deps> python -I -m pip install 'Django>=3.2'
py39-django41: install_package_deps> python -I -m pip install 'Django>=3.2'
py39-django40: install_package_deps> python -I -m pip install 'Django>=3.2'
py310-django32: install_package_deps> python -I -m pip install 'Django>=3.2'
py310-django50: install_package_deps> python -I -m pip install 'Django>=3.2'
py311-django41: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/320/django_components-0.35.tar.gz
py311-django50: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/323/django_components-0.35.tar.gz
py38-django42: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/322/django_components-0.35.tar.gz
py38-django40: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/321/django_components-0.35.tar.gz
py37-django32: install_package_deps> python -I -m pip install 'Django>=3.2'
py38-django32: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/326/django_components-0.35.tar.gz
py311-django42: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/324/django_components-0.35.tar.gz
py38-django41: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/325/django_components-0.35.tar.gz
py39-django42: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/328/django_components-0.35.tar.gz
py310-django42: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/329/django_components-0.35.tar.gz
py39-django41: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/331/django_components-0.35.tar.gz
py36-django32: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/327/django_components-0.35.tar.gz
py312-django42: install_package_deps> python -I -m pip install 'Django>=3.2'
py312-django50: install_package_deps> python -I -m pip install 'Django>=3.2'
py39-django40: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/332/django_components-0.35.tar.gz
py39-django32: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/330/django_components-0.35.tar.gz
py310-django32: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/333/django_components-0.35.tar.gz
py310-django50: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/334/django_components-0.35.tar.gz
py37-django32: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/335/django_components-0.35.tar.gz
py312-django42: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/336/django_components-0.35.tar.gz
py312-django50: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/337/django_components-0.35.tar.gz
Processing ./.tox/.tmp/package/333/django_components-0.35.tar.gz
  Installing build dependencies ... error

  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      WARNING: Skipping page https://pypi.org/simple/setuptools/ because the GET request got Content-Type: Unknown. The only supported Content-Types are application/vnd.pypi.simple.v1+json, application/vnd.pypi.simple.v1+html, and text/html
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
py310-django32: exit 1 (0.79 seconds) /home/emilstenstrom/Projects/django-components> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/333/django_components-0.35.tar.gz pid=439251
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
py310-django32: FAIL ✖ in 28.19 seconds
flake8: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/318/django_components-0.35.tar.gz
isort: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/317/django_components-0.35.tar.gz
coverage: install_package> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/319/django_components-0.35.tar.gz
py311-django41: commands[0]> py.test
================================================= test session starts ==================================================
platform linux -- Python 3.11.8, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py311-django41/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
py311-django50: commands[0]> py.test
py38-django42: commands[0]> py.test
py38-django32: commands[0]> py.test
py38-django40: commands[0]> py.test
collecting ... py310-django42: commands[0]> py.test
py311-django42: commands[0]> py.test
py39-django42: commands[0]> py.test
================================================= test session starts ==================================================
platform linux -- Python 3.11.8, pytest-8.0.1, pluggy-1.4.0
collected 161 items

cachedir: .tox/py311-django50/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_autodiscover.py ......                                                                                [  3%]
================================================= test session starts ==================================================
platform linux -- Python 3.8.18, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py38-django42/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
py39-django41: commands[0]> py.test
================================================= test session starts ==================================================
platform linux -- Python 3.8.18, pytest-8.0.1, pluggy-1.4.0
tests/test_component.py .....................                                                                    [ 16%]
cachedir: .tox/py38-django32/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_component_as_view.py ......                                                                           [ 20%]
================================================= test session starts ==================================================
platform linux -- Python 3.8.18, pytest-8.0.1, pluggy-1.4.0
py39-django40: commands[0]> py.test
cachedir: .tox/py38-django40/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_context.py ...........................                                                                [ 37%]
py38-django41: commands[0]> py.test
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
collecting ... tests/test_startcomponent_command.py ......
        [ 60%]
collecting ... ================================================= test session starts ==================================================
platform linux -- Python 3.9.18, pytest-8.0.1, pluggy-1.4.0
================================================= test session starts ==================================================
platform linux -- Python 3.11.8, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py311-django42/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
cachedir: .tox/py39-django42/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
================================================= test session starts ==================================================
platform linux -- Python 3.10.13, pytest-8.0.1, pluggy-1.4.0
collecting ... cachedir: .tox/py310-django42/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
collecting ... py39-django32: commands[0]> py.test
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.37s ==================================================
collected 161 items

================================================= test session starts ==================================================
platform linux -- Python 3.9.18, pytest-8.0.1, pluggy-1.4.0
================================================= test session starts ==================================================
cachedir: .tox/py39-django40/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
platform linux -- Python 3.9.18, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py39-django41/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
collected 161 items

collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
collecting ... tests/test_autodiscover.py ......
        [  3%]
collecting ... tests/test_component.py .....................
        [ 16%]
================================================= test session starts ==================================================
platform linux -- Python 3.8.18, pytest-8.0.1, pluggy-1.4.0
collecting ... tests/test_autodiscover.py ......
        [  3%]
py36-django32: commands[0]> py.test
tests/test_component_as_view.py ......                                                                           [ 20%]
cachedir: .tox/py38-django41/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component.py .....................                                                                    [ 16%]
py311-django41: OK ✔ in 29.56 seconds
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
py310-django50: commands[0]> py.test
collected 161 items
tests/test_dependency_rendering.py .......................                                                       [ 51%]
collecting ...
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
collecting ... tests/test_context.py ...........................
        [ 37%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
collected 161 items

tests/test_context.py ...........................                                                                [ 37%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_autodiscover.py ......                                                                                [  3%]
================================================= test session starts ==================================================
platform linux -- Python 3.9.18, pytest-8.0.1, pluggy-1.4.0
collected 161 items

tests/test_dependency_rendering.py .......................                                                       [ 51%]
py37-django32: commands[0]> py.test
tests/test_component.py .....................                                                                    [ 16%]
cachedir: .tox/py39-django32/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
collecting ... tests/test_component_as_view.py ......
        [ 20%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.38s ==================================================
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
collected 161 items

tests/test_component.py .....................                                                                    [ 16%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_component_as_view.py ......                                                                           [ 20%]
collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_context.py ...........................                                                                [ 37%]
collected 161 items

tests/test_component.py .....................                                                                    [ 16%]
collecting ... tests/test_startcomponent_command.py ......
        [ 60%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.43s ==================================================
tests/test_context.py ...........................                                                                [ 37%]
================================================= test session starts ==================================================
platform linux -- Python 3.6.15, pytest-7.0.1, pluggy-1.0.0
tests/test_templatetags.py ................................................................                      [100%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_autodiscover.py ......                                                                                [  3%]
================================================= test session starts ==================================================
platform linux -- Python 3.10.13, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py36-django32/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.0.2
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.46s ==================================================

================================================= 161 passed in 0.42s ==================================================
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
cachedir: .tox/py310-django50/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
py311-django50: OK ✔ in 29.77 seconds
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.38s ==================================================
tests/test_dependency_rendering.py .......................                                                       [ 51%]
collected 161 items

tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_component_as_view.py ......                                                                           [ 20%]
================================================= test session starts ==================================================
platform linux -- Python 3.7.17, pytest-7.4.4, pluggy-1.2.0
cachedir: .tox/py37-django32/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.40s ==================================================
tests/test_component.py .....................                                                                    [ 16%]
py38-django42: OK ✔ in 29.86 seconds
py38-django32: OK ✔ in 29.86 seconds
tests/test_context.py ...........................                                                                [ 37%]
py38-django40: OK ✔ in 29.86 seconds
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.45s ==================================================
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.39s ==================================================
collecting ... collecting ... tests/test_context.py ...........................
                       [ 37%]
py311-django42: OK ✔ in 29.88 seconds
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.40s ==================================================
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
py310-django42: OK ✔ in 29.9 seconds
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
collecting ... tests/test_startcomponent_command.py ......
        [ 60%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
py39-django40: OK ✔ in 29.93 seconds
py39-django42: OK ✔ in 29.94 seconds
py39-django41: OK ✔ in 29.95 seconds
collected 161 items

collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.45s ==================================================
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.35s ==================================================
collected 161 items
tests/test_component.py .....................                                                                    [ 16%]

tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_component_as_view.py ......                                                                           [ 20%]
py312-django42: commands[0]> py.test
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_context.py ...........................                                                                [ 37%]
py39-django32: OK ✔ in 30.03 seconds
py38-django41: OK ✔ in 30.04 seconds
tests/test_context.py ...........................                                                                [ 37%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
py312-django50: commands[0]> py.test
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.36s ==================================================
================================================= test session starts ==================================================
platform linux -- Python 3.12.2, pytest-8.0.1, pluggy-1.4.0
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.38s ==================================================
cachedir: .tox/py312-django42/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.35s ==================================================
py310-django50: OK ✔ in 30.17 seconds
py36-django32: OK ✔ in 30.19 seconds
py37-django32: OK ✔ in 30.2 seconds
================================================= test session starts ==================================================
platform linux -- Python 3.12.2, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/py312-django50/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: xdist-3.5.0
collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_component.py .....................                                                                    [ 16%]
collecting ... tests/test_component_as_view.py ......
        [ 20%]
tests/test_context.py ...........................                                                                [ 37%]
isort: commands[0]> isort --check-only --diff django_components
collected 161 items

tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
flake8: commands[0]> flake8 .
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_context.py ...........................                                                                [ 37%]
isort: OK ✔ in 30.4 seconds
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.28s ==================================================
coverage: commands[0]> coverage run --branch -m pytest
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
py312-django42: OK ✔ in 30.46 seconds
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.28s ==================================================
flake8: OK ✔ in 30.51 seconds
py312-django50: OK ✔ in 30.52 seconds
================================================= test session starts ==================================================
platform linux -- Python 3.12.2, pytest-8.0.1, pluggy-1.4.0
cachedir: .tox/coverage/.pytest_cache
rootdir: /home/emilstenstrom/Projects/django-components
plugins: cov-4.1.0
collected 161 items

tests/test_autodiscover.py ......                                                                                [  3%]
tests/test_component.py .....................                                                                    [ 16%]
tests/test_component_as_view.py ......                                                                           [ 20%]
tests/test_context.py ...........................                                                                [ 37%]
tests/test_dependency_rendering.py .......................                                                       [ 51%]
tests/test_registry.py .......                                                                                   [ 55%]
tests/test_settings.py .                                                                                         [ 56%]
tests/test_startcomponent_command.py ......                                                                      [ 60%]
tests/test_templatetags.py ................................................................                      [100%]

================================================= 161 passed in 0.66s ==================================================
coverage: commands[1]> coverage report -m --fail-under=93
Name                                                      Stmts   Miss Branch BrPart  Cover   Missing
-----------------------------------------------------------------------------------------------------
django_components/__init__.py                                30      2     10      3    88%   14, 20->32, 33
django_components/app_settings.py                            28      1      8      0    97%   25
django_components/apps.py                                     5      0      0      0   100%
django_components/component.py                              140      3     62      3    97%   235, 248, 276
django_components/component_registry.py                      29      0      4      0   100%
django_components/management/__init__.py                      0      0      0      0   100%
django_components/management/commands/__init__.py             0      0      0      0   100%
django_components/management/commands/startcomponent.py      55      5     24      3    87%   71-74, 81, 172
django_components/middleware.py                              44      1     10      0    98%   66
django_components/template_loader.py                         22      0     12      1    97%   19->22
django_components/templatetags/__init__.py                    0      0      0      0   100%
django_components/templatetags/component_tags.py            411     60    164     24    84%   5, 33, 125-129, 139, 148-152, 198-199, 224-229, 232, 239-240, 251, 260, 277, 289-297, 318, 340, 351, 374, 379, 415, 450, 542, 548, 580, 587, 591, 595, 662, 676, 688, 693, 708, 729-730, 743, 755, 764->761, 797, 810-811, 843-850, 860, 864
tests/__init__.py                                             0      0      0      0   100%
tests/components/__init__.py                                  0      0      0      0   100%
tests/components/multi_file/multi_file.py                    13      4      2      0    73%   13-14, 17, 20
tests/components/single_file.py                              13      4      2      0    73%   19-20, 23, 26
tests/components/urls.py                                      4      0      0      0   100%
tests/django_test_setup.py                                    5      0      2      1    86%   4->exit
tests/test_autodiscover.py                                   59      2      0      0    97%   30-31
tests/test_component.py                                     167      0      2      0   100%
tests/test_component_as_view.py                              71      1      8      0    99%   67
tests/test_context.py                                       189      2      8      3    97%   19, 41->43, 43->45, 54
tests/test_dependency_rendering.py                          183      1      6      0    99%   31
tests/test_registry.py                                       42      3      6      0    94%   18, 64-65
tests/test_settings.py                                       14      0      2      0   100%
tests/test_startcomponent_command.py                         55      0     14      0   100%
tests/test_templatetags.py                                  513      0     72      0   100%
tests/testutils.py                                           32      1      6      1    95%   52
-----------------------------------------------------------------------------------------------------
TOTAL                                                      2124     90    424     39    94%
coverage: OK ✔ in 31.47 seconds
^CROOT: [438597] KeyboardInterrupt - teardown started
ROOT: interrupt tox environment: py310-django41
.pkg: interrupt tox environment: .pkg
ROOT: interrupt tox environment: py310-django40
.pkg: interrupt tox environment: .pkg

Of note is the error from the py310-django32 environment, but this shouldn't force the following tests for hang, should it?!

  Installing build dependencies ... error

  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      WARNING: Skipping page https://pypi.org/simple/setuptools/ because the GET request got Content-Type: Unknown. The only supported Content-Types are application/vnd.pypi.simple.v1+json, application/vnd.pypi.simple.v1+html, and text/html
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
py310-django32: exit 1 (0.79 seconds) /home/emilstenstrom/Projects/django-components> python -I -m pip install --force-reinstall --no-deps /home/emilstenstrom/Projects/django-components/.tox/.tmp/package/333/django_components-0.35.tar.gz pid=439251
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
py310-django32: FAIL ✖ in 28.19 seconds

Minimal example

git clone https://github.com/EmilStenstrom/django-components.git
cd django-components
pyenv install -s 3.6
pyenv install -s 3.7
pyenv install -s 3.8
pyenv install -s 3.9
pyenv install -s 3.10
pyenv install -s 3.11
pyenv install -s 3.12
pyenv local 3.6 3.7 3.8 3.9 3.10 3.11 3.12
tox -p
@gaborbernat
Copy link
Member

I do not use WSL, so can't even replicate. PR with fixes would be welcomed, though.

@gaborbernat gaborbernat added the help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted. label Mar 5, 2024
@EmilStenstrom
Copy link
Author

@gaborbernat I think it might reproduce on other unix-based environments too? Or did you try it and confirm it did work there?

@gaborbernat
Copy link
Member

I couldn't reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.
Projects
None yet
Development

No branches or pull requests

2 participants