From 36ac4f79e3d3ccb55a57f073f1d8bae3c1e27adb Mon Sep 17 00:00:00 2001 From: Chris Dent Date: Fri, 16 Jan 2026 15:10:22 +0000 Subject: [PATCH] Add support for testing in python 3.14 In the process clean up some test-requirements and pypy3 handling. --- .github/workflows/tests.yaml | 16 ++++++++++------ README.rst | 2 +- setup.cfg | 1 + test-requirements.txt | 3 +-- tox.ini | 14 +++++++------- 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index a745d75..c5fea06 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -21,6 +21,8 @@ jobs: toxenv: py312 - python: "3.13" toxenv: py313 + - python: "3.14" + toxenv: py314 - python: pypy-3.10 toxenv: pypy3 - python: 3.9 @@ -33,12 +35,14 @@ jobs: toxenv: py312-pytest - python: "3.13" toxenv: py313-pytest - - python: "3.13" - toxenv: py313-failskip - - python: "3.13" - toxenv: py313-limit - - python: "3.13" - toxenv: py313-prefix + - python: "3.14" + toxenv: py314-pytest + - python: "3.14" + toxenv: py314-failskip + - python: "3.14" + toxenv: py314-limit + - python: "3.14" + toxenv: py314-prefix name: ${{ matrix.toxenv }} on Python ${{ matrix.python }} steps: - uses: actions/checkout@v2 diff --git a/README.rst b/README.rst index 927c584..90e59ae 100644 --- a/README.rst +++ b/README.rst @@ -20,7 +20,7 @@ looks like this:: See the docs_ for more details on the many features and formats for setting request headers and bodies and evaluating responses. -Gabbi is tested with Python 3.9, 3.10, 3.11, 3.12, 3.13 and pypy3.10. +Gabbi is tested with Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14 and pypy3.10. Tests can be run using `unittest`_ style test runners, `pytest`_ or from the command line with a `gabbi-run`_ script. diff --git a/setup.cfg b/setup.cfg index df26d02..31332f8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ classifier = Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 Programming Language :: Python :: 3 :: Only Topic :: Internet :: WWW/HTTP :: WSGI Topic :: Software Development :: Testing diff --git a/test-requirements.txt b/test-requirements.txt index 93c59ca..690fe68 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,5 +1,4 @@ -mock ; python_version < '3.3' -stestr>4.0.0 +stestr>4.0.0; platform_python_implementation == "CPython" coverage pytest-cov hacking diff --git a/tox.ini b/tox.ini index 1388539..03b7934 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] minversion = 3.1.1 skipsdist = True -envlist = pep8,py39,py310,py311,py312,py313,pypy3,pep8,limit,failskip,docs,py313-prefix,py313-limit,py313-verbosity,py313-failskip,py36-pytest,py39-pytest,py310-pytest,py311-pytest,py312-pytest,py313-pytest +envlist = pep8,py39,py310,py311,py312,py313,py314,pypy3,docs,py314-prefix,py314-limit,py314-verbosity,py314-failskip,py39-pytest,py310-pytest,py311-pytest,py312-pytest,py313-pytest,py314-pytest [testenv] deps = -r{toxinidir}/requirements.txt @@ -19,9 +19,6 @@ deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = {posargs} -[testenv:py36-pytest] -commands = py.test gabbi - [testenv:py39-pytest] commands = py.test gabbi @@ -37,6 +34,9 @@ commands = py.test gabbi [testenv:py313-pytest] commands = py.test {posargs} gabbi +[testenv:py314-pytest] +commands = py.test {posargs} gabbi + [testenv:py313-prefix] setenv = GABBI_PREFIX=/snoopy @@ -46,15 +46,15 @@ deps = hacking commands = flake8 -[testenv:py313-limit] +[testenv:py314-limit] allowlist_externals = {toxinidir}/test-limit.sh commands = {toxinidir}/test-limit.sh -[testenv:py313-verbosity] +[testenv:py314-verbosity] allowlist_externals = {toxinidir}/test-verbosity.sh commands = {toxinidir}/test-verbosity.sh -[testenv:py313-failskip] +[testenv:py314-failskip] allowlist_externals = {toxinidir}/test-failskip.sh commands = {toxinidir}/test-failskip.sh