Skip to content

Commit 8d6eb05

Browse files
authored
GitHub Actions: Add PyPy 3.10 to testing (#2638)
1 parent e82856a commit 8d6eb05

File tree

6 files changed

+15
-4
lines changed

6 files changed

+15
-4
lines changed

.github/workflows/check.yml

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
- "3.9"
2626
- "3.8"
2727
- "3.7"
28+
- pypy-3.10
2829
- pypy-3.9
2930
- pypy-3.8
3031
- pypy-3.7

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ repos:
1717
rev: "1.1.0"
1818
hooks:
1919
- id: pyproject-fmt
20-
additional_dependencies: ["tox>=4.8"]
20+
additional_dependencies: ["tox>=4.11"]
2121
- repo: https://github.com/pre-commit/mirrors-prettier
2222
rev: "v3.0.3"
2323
hooks:

docs/changelog/2638.bugfix.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Declare PyPy 3.10 support - by :user:`cclauss`.

docs/installation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Python and OS Compatibility
8585
virtualenv works with the following Python interpreter implementations:
8686

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

9090
This means virtualenv works on the latest patch version of each of these minor versions. Previous patch versions are
9191
supported on a best effort approach.

tests/unit/config/test_ini.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010

1111

1212
@pytest.mark.skipif(not fs_supports_symlink(), reason="symlink is not supported")
13-
@pytest.mark.xfail(IS_PYPY and IS_WIN and sys.version_info[0:2] == (3, 9), reason="symlink is not supported")
13+
@pytest.mark.xfail(
14+
# https://doc.pypy.org/en/latest/install.html?highlight=symlink#download-a-pre-built-pypy
15+
IS_PYPY and IS_WIN and sys.version_info[0:2] >= (3, 9),
16+
reason="symlink is not supported",
17+
)
1418
def test_ini_can_be_overwritten_by_flag(tmp_path, monkeypatch):
1519
custom_ini = tmp_path / "conf.ini"
1620
custom_ini.write_text(

tests/unit/discovery/py_info/test_py_info.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,12 @@ def test_py_info_cache_clear(mocker, session_app_data):
144144
assert spy.call_count >= 2 * count
145145

146146

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

0 commit comments

Comments
 (0)