Merge pull request #6166 from Gallaecio/py313

Add Python 3.13 to CI
This commit is contained in:
Andrey Rakhmatullin 2024-10-22 20:05:56 +05:00 committed by GitHub
commit b4bad97eae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 25 additions and 15 deletions

View File

@ -12,7 +12,7 @@ jobs:
fail-fast: false
matrix:
include:
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: pylint
- python-version: "3.9"
@ -24,7 +24,7 @@ jobs:
- python-version: "3.12" # Keep in sync with .readthedocs.yml
env:
TOXENV: docs
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: twinecheck

View File

@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
python-version: "3.13"
- run: |
pip install --upgrade build twine
python -m build

View File

@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4

View File

@ -24,7 +24,10 @@ jobs:
- python-version: "3.12"
env:
TOXENV: py
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: py
- python-version: "3.13"
env:
TOXENV: asyncio
- python-version: pypy3.9
@ -51,10 +54,10 @@ jobs:
env:
TOXENV: botocore-pinned
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: extra-deps
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: botocore

View File

@ -24,7 +24,10 @@ jobs:
- python-version: "3.12"
env:
TOXENV: py
- python-version: "3.12"
- python-version: "3.13"
env:
TOXENV: py
- python-version: "3.13"
env:
TOXENV: asyncio

View File

@ -62,6 +62,7 @@ setup(
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Internet :: WWW/HTTP",

View File

@ -1,6 +1,7 @@
import functools
import operator
import platform
import sys
from twisted.trial import unittest
@ -238,16 +239,18 @@ class UtilsPythonTestCase(unittest.TestCase):
self.assertEqual(get_func_args(str.split, stripself=True), ["sep", "maxsplit"])
self.assertEqual(get_func_args(" ".join, stripself=True), ["iterable"])
if platform.python_implementation() == "CPython":
# This didn't work on older versions of CPython: https://github.com/python/cpython/issues/86951
if sys.version_info >= (3, 13) or platform.python_implementation() == "PyPy":
# the correct and correctly extracted signature
self.assertEqual(
get_func_args(operator.itemgetter(2), stripself=True), ["obj"]
)
elif platform.python_implementation() == "CPython":
# ["args", "kwargs"] is a correct result for the pre-3.13 incorrect function signature
# [] is an incorrect result on even older CPython (https://github.com/python/cpython/issues/86951)
self.assertIn(
get_func_args(operator.itemgetter(2), stripself=True),
[[], ["args", "kwargs"]],
)
elif platform.python_implementation() == "PyPy":
self.assertEqual(
get_func_args(operator.itemgetter(2), stripself=True), ["obj"]
)
def test_without_none_values(self):
self.assertEqual(without_none_values([1, None, 3, 4]), [1, 3, 4])

View File

@ -11,7 +11,7 @@ minversion = 1.7.0
deps =
attrs
pexpect >= 4.8.0
pyftpdlib >= 1.5.8
pyftpdlib >= 2.0.1
pygments
pytest
pytest-cov==4.0.0