Skip to content

Commit 31eaf09

Browse files
authored
Merge pull request #198 from dmtucker/dev
Update test dependencies
2 parents 1b3e931 + 4c7d329 commit 31eaf09

5 files changed

Lines changed: 41 additions & 31 deletions

File tree

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: Publication
22
on:
33
release:
4-
types: [created]
4+
types: [published]
55
jobs:
66
deploy:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v3
10-
- uses: actions/setup-python@v4
9+
- uses: actions/checkout@v6
10+
- uses: actions/setup-python@v6
1111
with:
1212
python-version: '3.8'
1313
- run: python -m pip install --upgrade tox-gh-actions
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
name: Validation
22
on: [push, pull_request]
33
jobs:
4-
build:
5-
runs-on: ubuntu-20.04
4+
tox:
5+
runs-on: ubuntu-latest
66
strategy:
77
matrix:
8-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
8+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
99
steps:
10-
- uses: actions/checkout@v3
11-
- uses: actions/setup-python@v4
10+
- uses: actions/checkout@v6
11+
- uses: actions/setup-python@v6
1212
with:
1313
python-version: ${{ matrix.python-version }}
1414
- run: python -m pip install --upgrade tox-gh-actions

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ classifiers = [
2525
"Programming Language :: Python :: 3.11",
2626
"Programming Language :: Python :: 3.12",
2727
"Programming Language :: Python :: 3.13",
28+
"Programming Language :: Python :: 3.14",
2829
"Programming Language :: Python :: Implementation :: CPython",
2930
"Topic :: Software Development :: Testing",
3031
]

tests/test_pytest_mypy.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
import pytest_mypy
1010

11-
1211
MYPY_VERSION = Version(mypy.version.__version__)
1312
PYTEST_VERSION = Version(pytest.__version__)
1413
PYTHON_VERSION = Version(
@@ -82,6 +81,12 @@ def test_mypy_encoding_warnings(testdir, monkeypatch):
8281
mypy_status_check = 1
8382
mypy_checks = mypy_file_checks + mypy_status_check
8483
expected_warnings = 2 # https://github.com/python/mypy/issues/14603
84+
if MYPY_VERSION < Version("1.5"):
85+
# DeprecationWarning: mypy_extensions.TypedDict is deprecated,
86+
# and will be removed in a future version.
87+
# Use typing.TypedDict or typing_extensions.TypedDict instead.
88+
# https://github.com/python/mypy/pull/15494
89+
expected_warnings += 1
8590
result.assert_outcomes(passed=mypy_checks, warnings=expected_warnings)
8691

8792

@@ -699,12 +704,10 @@ def test_mypy_report_style(testdir, xdist_args):
699704
"""Verify that --mypy-report-style functions correctly."""
700705
module_name = "unmistakable_module_name"
701706
testdir.makepyfile(
702-
**{
703-
module_name: """
707+
**{module_name: """
704708
def pyfunc(x: int) -> str:
705709
return x * 2
706-
"""
707-
},
710+
"""},
708711
)
709712
result = testdir.runpytest_subprocess("--mypy-report-style", "no-path", *xdist_args)
710713
mypy_file_checks = 1

tox.ini

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@ isolated_build = true
55
envlist =
66
py38-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
77
py39-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
8-
py310-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
9-
py311-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
10-
py312-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
11-
py313-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
8+
py310-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
9+
py311-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
10+
py312-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
11+
py313-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
12+
py314-pytest{9.0, 9.x}-mypy{2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
1213
static
1314
publish
1415

1516
[gh-actions]
1617
python =
1718
3.8: py38-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
1819
3.9: py39-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
19-
3.10: py310-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
20-
3.11: py311-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
21-
3.12: py312-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}, static, publish
22-
3.13: py313-pytest{7.0, 7.x, 8.0, 8.x}-mypy{1.0, 1.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
20+
3.10: py310-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
21+
3.11: py311-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
22+
3.12: py312-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}, static, publish
23+
3.13: py313-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
24+
3.14: py314-pytest{7.0, 7.x, 8.0, 8.x, 9.0, 9.x}-mypy{1.0, 1.x, 2.0, 2.x}-xdist{1.x, 2.0, 2.x, 3.0, 3.x}
2325

2426
[testenv]
2527
constrain_package_deps = true
@@ -28,17 +30,21 @@ deps =
2830
pytest7.x: pytest ~= 7.0
2931
pytest8.0: pytest ~= 8.0.0
3032
pytest8.x: pytest ~= 8.0
33+
pytest9.0: pytest ~= 9.0.0
34+
pytest9.x: pytest ~= 9.0
3135
mypy1.0: mypy ~= 1.0.0
3236
mypy1.x: mypy ~= 1.0
37+
mypy2.0: mypy ~= 2.0.0
38+
mypy2.x: mypy ~= 2.0
3339
xdist1.x: pytest-xdist ~= 1.0
3440
xdist2.0: pytest-xdist ~= 2.0.0
3541
xdist2.x: pytest-xdist ~= 2.0
3642
xdist3.0: pytest-xdist ~= 3.0.0
3743
xdist3.x: pytest-xdist ~= 3.0
3844

39-
packaging ~= 21.3
40-
pytest-cov ~= 4.1.0
41-
pytest-randomly ~= 3.4
45+
packaging ~= 26.2
46+
pytest-cov ~= 5.0.0
47+
pytest-randomly ~= 3.15
4248
setenv =
4349
COVERAGE_FILE = .coverage.{envname}
4450
commands = pytest -p no:mypy {posargs:--cov pytest_mypy --cov-branch --cov-fail-under 100 --cov-report term-missing -n auto}
@@ -50,22 +56,22 @@ testpaths = tests
5056
passenv = TWINE_*
5157
constrain_package_deps = false
5258
deps =
53-
build[virtualenv] ~= 1.0.0
54-
twine ~= 5.0.0
59+
build[virtualenv] ~= 1.5.0
60+
twine ~= 6.2.0
5561
commands =
5662
{envpython} -m build --outdir {envtmpdir} .
5763
twine {posargs:check} {envtmpdir}/*
5864

5965
[testenv:static]
6066
basepython = py312 # pytest.Node.from_parent uses typing.Self
6167
deps =
62-
bandit ~= 1.7.0
63-
black ~= 24.2.0
64-
flake8 ~= 7.0.0
65-
mypy ~= 1.11.0
68+
bandit ~= 1.9.0
69+
black ~= 26.5.0
70+
flake8 ~= 7.3.0
71+
mypy ~= 2.1.0
6672
pytest-xdist >= 3.6.0 # needed for type-checking
6773
commands =
68-
black --check src tests
74+
black --check --target-version py38 src tests
6975
flake8 src tests
7076
mypy --strict src
7177
bandit --recursive src

0 commit comments

Comments
 (0)