[Test Infrastructure] Configure pytest and pytest-asyncio - #91
Draft
beauremus wants to merge 4 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue 1: [Test Infrastructure] Configure pytest and pytest-asyncio in
pyproject.tomlStatus: Implemented on branch
chore/configure-pytest. Configuration and installation checks pass; full-suite verification remains blocked by the pre-existing Issue 2 regression test. No Issue 2 code changes were made, and work stops here pending Issue 2 approval.Summary
Move the test-runner configuration and async test dependency into the project metadata so local development and CI use the same declared setup.
Context
pyproject.tomlcurrently declares onlybuild,wheel, andsetuptools-related development tooling; it does not declarepytestorpytest-asyncio.pytestandflake8directly in.github/workflows/python-package.yml.tests/test_dpm_task_context.pyimportspytestand exercises asyncio behavior, but is currently written around a manually managed event loop rather thanpytest-asynciofixtures/markers.>=3.9.21; CI should cover Python 3.9 through 3.13, including the AlmaLinux 9.6 baseline (3.9.21).Scope
pyproject.toml.pytest-asynciomode and async-test conventions for this repository.Acceptance criteria
pytestdiscovers and runs the repository test suite without requiring ad hoc test-runner installation beyond the documented development install.Verification
pip install -e ".[dev]"succeeded and installedpytest,pytest-asyncio,build, andwheelfrom the project metadata.asyncio_mode = "auto".1 test collected).python -m pytest -q: blocked by the existingtests/test_dpm_task_context.pyexpectation; it fails because the test does not raise the Issue 2RuntimeErrorunder the current Python 3.13 runtime.pytest/pytest-asyncioreleases.3.9.21and AlmaLinux is now on Python 3.9.Dependencies and risks
pytest-asyncio-specific tests for Issues 2 or 3.pytest-asynciocompatibility with the repository's Python-version matrix must be checked before selecting a version constraint.continue-on-error: truefor pytest; whether that policy should change is an explicit follow-up decision, not an assumed part of this issue.Review focus
devoptional-dependency group or a newly named test group.Out of scope
DPM.replies()timeout failure (Issue 2).set_many()synchronization (Issue 3).