Use pytest instead of nosetests#16883
Merged
jsoriano merged 23 commits intoelastic:masterfrom Aug 6, 2020
Merged
Conversation
Nosetests has been in maintenance mode for years, its last release was released in 2015. When evolving the testing framework for Python tests it would be better to do it based on a maintained test tool.
Contributor
|
Pinging @elastic/integrations-platforms (Team:Platforms) |
Member
Author
|
Closing this by now. |
Member
Author
|
We have talked internally about this and we think that it worths to continue migrating out of nosetests even if we don't have any other immediate benefit. So I will continue with this change. |
Contributor
|
Can you create an issue focusing on the need to remove this because 3.9? Thanks! |
5 tasks
Member
Author
Sure, issue about supporting python 3.9 created #20384. |
6 tasks
urso
approved these changes
Aug 6, 2020
Contributor
|
nice!! after merge this, we could add the retries we have in the APM ITs elastic/apm-integration-testing#866 |
6 tasks
jsoriano
added a commit
to jsoriano/beats
that referenced
this pull request
Aug 6, 2020
Nosetests has been in maintenance mode for years, its last release was released in 2015. Some functionality it uses from Python is going to be removed in upcoming versions. Use pytest to replace nosetests as testrunner. Features used from nose libraries are replaced by features from the Python standard library and from pytest. (cherry picked from commit a6e2e24)
jsoriano
added a commit
that referenced
this pull request
Aug 10, 2020
Packages listed in current requirements.txt file cannot be installed in python 3.5 and 3.9: * Pillow doesn't have a candidate for 3.9, it was already removed in #20407, but added again by mistake in #16883. * zipp package needed by pytest works with different versions depending on the version of python, version that works with python 3.5 doesn't work with other versions.
jsoriano
added a commit
that referenced
this pull request
Aug 12, 2020
Nosetests has been in maintenance mode for years, its last release was released in 2015. Some functionality it uses from Python is going to be removed in upcoming versions. Use pytest to replace nosetests as testrunner. Features used from nose libraries are replaced by features from the Python standard library and from pytest. (cherry picked from commit a6e2e24)
melchiormoulin
pushed a commit
to melchiormoulin/beats
that referenced
this pull request
Oct 14, 2020
Nosetests has been in maintenance mode for years, its last release was released in 2015. Some functionality it uses from Python is going to be removed in upcoming versions. Use pytest to replace nosetests as testrunner. Features used from nose libraries are replaced by features from the Python standard library and from pytest.
melchiormoulin
pushed a commit
to melchiormoulin/beats
that referenced
this pull request
Oct 14, 2020
Packages listed in current requirements.txt file cannot be installed in python 3.5 and 3.9: * Pillow doesn't have a candidate for 3.9, it was already removed in elastic#20407, but added again by mistake in elastic#16883. * zipp package needed by pytest works with different versions depending on the version of python, version that works with python 3.5 doesn't work with other versions.
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.
What does this PR do?
Replaces nosetests with pytest.
Why is it important?
Nosetests has been in maintenance mode for years, its last release was done in 2015. When evolving the testing framework for Python tests it would be better to do it based on a maintained test tool. It will stop working with Python 3.9.
For #15891 I am considering adding new features to the testing framework that could include to add some plugin for the test tool, it wouldn't make sense to implement code based on a discontinued tool.
Pytest is a complete and well maintained test tool, it is one of the tools recommended after cease of nose project and it can be used as a direct replacement.
Checklist
Author checklist
Related issues