| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Reduce what happens in `load_tests` so that the next change, moving the `Buffered*` tests to `test_bufferdio` is purely mechanical movement and updating imports. This adds two classes, one per I/O implementation, to act as dispatch to the implementation-specific mocks as well as module members. Previously the mappings CTestCase and PyTestCase provide were injected directly during `load_tests`. CTestCase and PyTestCase inherit from `unittest.TestCase` so when the split happens default test discovery will work for the classes in `test_bufferedio`. `test_general` keeps a manual test list for this refactoring; some of the tests (ex. `ProtocolsTest`) aren't currently run and fixing that + helpers to not be picked up is out of my current scope. CTestCase and PyTestCase have an `io` class member which points to the implementation meaning that can be removed from individual test cases which now inherit from them.
This code is picking up `MockRawIO` which is defined globally in the module but these should use the mock specific to the I/O implementation being tested.
|
Added another commit to fix a gh-133982 issue I found while testing out the split. There are a number of test classes defined inside specific test cases that were referring to MockRawIO directly rather than self.MockRawIO |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @vstinner for commit 751788f 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F138366%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
Done.
Done. |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM.
./python -m test test_io --list-cases output is unchanged with this change.
Sorry, something went wrong.
Remove unnecessary pass through self Co-authored-by: Victor Stinner <vstinner@python.org>
|
One bot failure buildbot/AMD64 Windows 11 Refleaks PR in test_remote_pdb which looks independent (Code this PR doesn’t touch), so I think this is good to go once the suggestion application finishes in Github actions bots |
Sorry, something went wrong.
|
Merged, thanks. |
Sorry, something went wrong.
…ython#138366) Reduce what happens in `load_tests` so that the next change, moving the `Buffered*` tests to `test_bufferdio` is purely mechanical movement and updating imports. This adds two classes, one per I/O implementation, to act as dispatch to the implementation-specific mocks as well as module members. Previously the mappings CTestCase and PyTestCase provide were injected directly during `load_tests`. CTestCase and PyTestCase inherit from `unittest.TestCase` so when the split happens default test discovery will work for the classes in `test_bufferedio`. `test_general` keeps a manual test list for this refactoring; some of the tests (ex. `ProtocolsTest`) aren't currently run and fixing that + helpers to not be picked up is out of my current scope. CTestCase and PyTestCase have an `io` class member which points to the implementation meaning that can be removed from individual test cases which now inherit from them. This code is picking up `MockRawIO` which is defined globally in the module but these should use the mock specific to the I/O implementation being tested. Co-authored-by: Victor Stinner <vstinner@python.org>
| Back | FazBrowse Home | New Git URL |
Reduce what happens in load_tests so that the next change, moving the Buffered* tests to test_bufferdio is purely mechanical movement and updating imports.
This adds two classes, one per I/O implementation, to act as dispatch to the implementation-specific mocks as well as module members. Previously the mappings CTestCase and PyTestCase provide were injected directly during load_tests.
CTestCase and PyTestCase inherit from unittest.TestCase so when the split happens default test discovery will work for the classes in test_bufferedio. test_general keeps a manual test list for this refactoring; some of the tests (ex. ProtocolsTest) aren't currently run and fixing that + helpers to not be picked up as tests is out of my current scope.
CTestCase and PyTestCase have an io class member which points to the implementation meaning that can be removed from individual test cases which now inherit from them.
Tested locally with ./python -m test test_io -uall,walltime,largefile,extralargefile -M16G -j8 -v