Skip to content

Commit

Permalink
GitHub Actions: Add PyPy 3.10 to testing (#2638)
Browse files Browse the repository at this point in the history
  • Loading branch information
cclauss committed Sep 8, 2023
1 parent e82856a commit 8d6eb05
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 4 deletions.
1 change: 1 addition & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
- "3.9"
- "3.8"
- "3.7"
- pypy-3.10
- pypy-3.9
- pypy-3.8
- pypy-3.7
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
rev: "1.1.0"
hooks:
- id: pyproject-fmt
additional_dependencies: ["tox>=4.8"]
additional_dependencies: ["tox>=4.11"]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.0.3"
hooks:
Expand Down
1 change: 1 addition & 0 deletions docs/changelog/2638.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Declare PyPy 3.10 support - by :user:`cclauss`.
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Python and OS Compatibility
virtualenv works with the following Python interpreter implementations:

- `CPython <https://www.python.org/>`_: ``3.12 >= python_version >= 3.7``
- `PyPy <https://pypy.org/>`_: ``3.9 >= python_version >= 3.7``
- `PyPy <https://pypy.org/>`_: ``3.10 >= python_version >= 3.7``

This means virtualenv works on the latest patch version of each of these minor versions. Previous patch versions are
supported on a best effort approach.
Expand Down
6 changes: 5 additions & 1 deletion tests/unit/config/test_ini.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@


@pytest.mark.skipif(not fs_supports_symlink(), reason="symlink is not supported")
@pytest.mark.xfail(IS_PYPY and IS_WIN and sys.version_info[0:2] == (3, 9), reason="symlink is not supported")
@pytest.mark.xfail(
# https://doc.pypy.org/en/latest/install.html?highlight=symlink#download-a-pre-built-pypy
IS_PYPY and IS_WIN and sys.version_info[0:2] >= (3, 9),
reason="symlink is not supported",
)
def test_ini_can_be_overwritten_by_flag(tmp_path, monkeypatch):
custom_ini = tmp_path / "conf.ini"
custom_ini.write_text(
Expand Down
7 changes: 6 additions & 1 deletion tests/unit/discovery/py_info/test_py_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,12 @@ def test_py_info_cache_clear(mocker, session_app_data):
assert spy.call_count >= 2 * count


@pytest.mark.xfail(IS_PYPY and IS_WIN and sys.version_info[0:2] == (3, 9), reason="symlink is not supported")
@pytest.mark.skipif(not fs_supports_symlink(), reason="symlink is not supported")
@pytest.mark.xfail(
# https://doc.pypy.org/en/latest/install.html?highlight=symlink#download-a-pre-built-pypy
IS_PYPY and IS_WIN and sys.version_info[0:2] >= (3, 9),
reason="symlink is not supported",
)
@pytest.mark.skipif(not fs_supports_symlink(), reason="symlink is not supported")
def test_py_info_cached_symlink(mocker, tmp_path, session_app_data):
spy = mocker.spy(cached_py_info, "_run_subprocess")
Expand Down

0 comments on commit 8d6eb05

Please sign in to comment.