Test Python 3.9-3.13 on windows/mac/linux #465
Merged
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.
This PR introduces several changes enhance the testing infrastructure and test compatibility with newer Python versions:
CI Configuration Updates:
pytest-xdist
to speed up the testing process. This is achieved by running tests in parallel (-n auto
).Makefile
to include atests-parallel
target for running tests in parallel.Dependency Management:
pyproject.toml
:^3.9
to reflect the new supported range.pytest-html
for generating HTML reports andpytest-xdist
for parallel test execution.poetry.lock
:poetry.lock
file to ensure compatibility with the new Python version range and to include the new test dependencies.Testing Enhancements:
docker-compose.yml
file to remove explicit port assignments. This allows Docker to assign random ports, preventing port conflicts during parallel test execution.session
tomodule
to ensure that each test module has its own isolated environment (like it was archived before via the integration test matrix).docker_ip
anddocker_services
fixtures frompytest-docker
to dynamically determine the IP and ports of Docker services (required for parallel execution).make tests-parallel
) and run unit tests separately on other operating systems for efficiency.Miscellaneous:
.gitignore
:coverage.xml
andhtmlcov/
to ignore coverage reports generated during local development.README.md
:Makefile
/bin/localnet.sh
:PHONY
as they do not relate to files named like the target (and would not run if such file exist)sh
) in the Make targets so that the right shell (=bash) is used.PR diff without poetry.lock would be 87 insertions(+), 114 deletions(-). No changes done ./src/* by this PR.
The execution time of all tests on linux (unit+ doc + integration tests) now have a similar time compared to one integration module before. On win + macos only the unit+doc tests can be run, as there is no ability to start the localnet container on action runners.