Latest Results
[PR #12621/ce32557b backport][3.15] Move pytest config into a `pytest.ini` (#13712)
**This is a backport of PR #12621 as merged into master
(ce32557b72e75332589a51b309bd34bcb62989b5).**
## What do these changes do?
Move the pytest configuration out of `setup.cfg` into a dedicated
top-level `pytest.ini` that follows the shape shared with `propcache`
and `awx_plugins.interfaces`, so cross-project infra syncs stay a
one-file diff. The calling side (`Makefile`, CI, the Docker test
entrypoint) is adjusted where the new defaults would otherwise change
what a command does.
aiohttp-specific settings are kept: `asyncio_mode = auto`, the `-m "not
dev_mode and not autobahn and not internal"` filter, `-p no:aiohttp`,
`timeout = 120`, the full `filterwarnings` list, the custom markers and
`junit_suite_name = aiohttp_test_suite`.
Differences from the old `[tool:pytest]` section:
- `minversion` raised from `3.8.2` to `8.4` (pytest-asyncio 1.4 already
needs it).
- `pytest-xdist` (`--numprocesses=auto`) and `pytest-cov` (`-p
pytest_cov`, `--cov`, `--cov-config=.coveragerc.toml`,
`--cov-context=test`, `--no-cov-on-fail`) on by default again.
- `--doctest-modules`, `--strict-markers`, `faulthandler_timeout = 30`,
`empty_parameter_set_mark = xfail`, `doctest_optionflags`, `junit_family
= xunit1`, `junit_logging = all`, `junit_duration_report = call`.
- `-v` no longer in `addopts`.
- `norecursedirs` expanded; it also skips `tests/isolated/`, whose
scripts run `asyncio.run()` at import time and would execute during
doctest collection.
Calling-side adjustments:
- `make test` and `tools/testing/entrypoint.sh`: add `--no-cov
--numprocesses=0`, so they still run serially without coverage.
- `make vtest` / `make vvtest`: add `--numprocesses=0` so `-s` output
stays visible. Coverage now actually gets collected, which is what their
`--cov-append` step was written for.
- `make cov-dev`: unchanged. It produces an HTML report again, since
`--cov` is back in `addopts`.
- CI unit and Cython jobs: drop the now-redundant `--cov` /
`--numprocesses=auto`. A `--cov-config` passed on the command line still
overrides the one in `addopts`.
- CI `--lf` re-run, dev_mode, Autobahn and benchmark steps: add
`--numprocesses=0`, as they had before #12364. Autobahn and benchmark
also get `-o faulthandler_timeout=0` next to `--timeout=0`: the 30s
watchdog crashed the CodSpeed/valgrind run with exit code 139 on an
earlier push of this branch.
- Mobile (cibuildwheel): add `--no-cov --numprocesses=0`. `pytest-xdist`
goes into `requirements/test-mobile.{in,txt}` so the `--numprocesses`
option in `pytest.ini` can be parsed there.
- `docs/contributing.rst`: the `-s` hint now mentions
`--numprocesses=0`.
## Are there changes in behavior for the user?
No runtime changes. Contributors: a bare `pytest` now runs in parallel
with coverage. Use `--numprocesses=0` / `--no-cov` (or `make test`) to
opt out.
## Is it a substantial burden for the maintainers to support this?
No. The layout matches the other aio-libs projects, which makes future
syncs easier.
## Related issue number
Closes #12620.
## Checklist
- [x] I think the code is well written
- [ ] Unit tests for the changes exist: N/A (config-only; the existing
suite exercises it)
- [x] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`: N/A (bot account)
- [x] Add a new news fragment into the `CHANGES/` folder
Drafted with Claude Opus 5 via Kōan; reviewed by <pending human review>.
---
### Quality Report
**Changes**: 10 files changed, 176 insertions(+), 85 deletions(-)
**Code scan**: 1 issue(s) found
- `docs/contributing.rst:105` — debug print statement
**Tests**: failed (FAILED)
**Branch hygiene**: clean
_Generated by [Kōan](https://koan.anantys.com)_
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko <webknjaz@redhat.com> [PR #12621/ce32557b backport][3.14] Move pytest config into a `pytest.ini` (#13713)
**This is a backport of PR #12621 as merged into master
(ce32557b72e75332589a51b309bd34bcb62989b5).**
## What do these changes do?
Move the pytest configuration out of `setup.cfg` into a dedicated
top-level `pytest.ini` that follows the shape shared with `propcache`
and `awx_plugins.interfaces`, so cross-project infra syncs stay a
one-file diff. The calling side (`Makefile`, CI, the Docker test
entrypoint) is adjusted where the new defaults would otherwise change
what a command does.
aiohttp-specific settings are kept: `asyncio_mode = auto`, the `-m "not
dev_mode and not autobahn and not internal"` filter, `-p no:aiohttp`,
`timeout = 120`, the full `filterwarnings` list, the custom markers and
`junit_suite_name = aiohttp_test_suite`.
Differences from the old `[tool:pytest]` section:
- `minversion` raised from `3.8.2` to `8.4` (pytest-asyncio 1.4 already
needs it).
- `pytest-xdist` (`--numprocesses=auto`) and `pytest-cov` (`-p
pytest_cov`, `--cov`, `--cov-config=.coveragerc.toml`,
`--cov-context=test`, `--no-cov-on-fail`) on by default again.
- `--doctest-modules`, `--strict-markers`, `faulthandler_timeout = 30`,
`empty_parameter_set_mark = xfail`, `doctest_optionflags`, `junit_family
= xunit1`, `junit_logging = all`, `junit_duration_report = call`.
- `-v` no longer in `addopts`.
- `norecursedirs` expanded; it also skips `tests/isolated/`, whose
scripts run `asyncio.run()` at import time and would execute during
doctest collection.
Calling-side adjustments:
- `make test` and `tools/testing/entrypoint.sh`: add `--no-cov
--numprocesses=0`, so they still run serially without coverage.
- `make vtest` / `make vvtest`: add `--numprocesses=0` so `-s` output
stays visible. Coverage now actually gets collected, which is what their
`--cov-append` step was written for.
- `make cov-dev`: unchanged. It produces an HTML report again, since
`--cov` is back in `addopts`.
- CI unit and Cython jobs: drop the now-redundant `--cov` /
`--numprocesses=auto`. A `--cov-config` passed on the command line still
overrides the one in `addopts`.
- CI `--lf` re-run, dev_mode, Autobahn and benchmark steps: add
`--numprocesses=0`, as they had before #12364. Autobahn and benchmark
also get `-o faulthandler_timeout=0` next to `--timeout=0`: the 30s
watchdog crashed the CodSpeed/valgrind run with exit code 139 on an
earlier push of this branch.
- Mobile (cibuildwheel): add `--no-cov --numprocesses=0`. `pytest-xdist`
goes into `requirements/test-mobile.{in,txt}` so the `--numprocesses`
option in `pytest.ini` can be parsed there.
- `docs/contributing.rst`: the `-s` hint now mentions
`--numprocesses=0`.
## Are there changes in behavior for the user?
No runtime changes. Contributors: a bare `pytest` now runs in parallel
with coverage. Use `--numprocesses=0` / `--no-cov` (or `make test`) to
opt out.
## Is it a substantial burden for the maintainers to support this?
No. The layout matches the other aio-libs projects, which makes future
syncs easier.
## Related issue number
Closes #12620.
## Checklist
- [x] I think the code is well written
- [ ] Unit tests for the changes exist: N/A (config-only; the existing
suite exercises it)
- [x] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt`: N/A (bot account)
- [x] Add a new news fragment into the `CHANGES/` folder
Drafted with Claude Opus 5 via Kōan; reviewed by <pending human review>.
---
### Quality Report
**Changes**: 10 files changed, 176 insertions(+), 85 deletions(-)
**Code scan**: 1 issue(s) found
- `docs/contributing.rst:105` — debug print statement
**Tests**: failed (FAILED)
**Branch hygiene**: clean
_Generated by [Kōan](https://koan.anantys.com)_
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: 🇺🇦 Sviatoslav Sydorenko <webknjaz@redhat.com> Latest Branches
0%
aiolibsbot:patchback/backports/3.15/ce32557b72e75332589a51b309bd34bcb62989b5/pr-12621 0%
aiolibsbot:patchback/backports/3.14/ce32557b72e75332589a51b309bd34bcb62989b5/pr-12621 +14%
aiolibsbot:koan/implement-12620 © 2026 CodSpeed Technology