bpo-40275: Avoid importing socket in test.support#19603
bpo-40275: Avoid importing socket in test.support#19603serhiy-storchaka merged 5 commits intopython:masterfrom
Conversation
* Move socket related functions from test.support to socket_helper. * Import socket and nntplib lazily in transient_internet(). * Remove importing multiprocess.
|
It depends on #19600 because |
vstinner
left a comment
There was a problem hiding this comment.
What do you think of moving transient_internet() into socket_helper? It's first designed to handle socket errors, but it also catch urllib for convenience.
I suggest to import urllib in transient_internet(). Maybe a better solution would be to have a transient_internet() function specific to urllib, but let's start a straighforward change which just move code as you did.
I thought about this. But this PR is already large, and it would add yet several modules. I prefer to do this in separate PR. |
vstinner
left a comment
There was a problem hiding this comment.
LGTM. I clearly see the rationale for creating a dedicated support.socket_helper submodule, there are way enough functions to add there.
* 'master' of github.com:python/cpython: (2949 commits) Add files in tests/test_peg_generator to the install target lists (pythonGH-19723) bpo-40398: Fix typing.get_args() for special generic aliases. (pythonGH-19720) bpo-40348: Fix typos in the programming FAQ (pythonGH-19729) bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (pythonGH-16607) bpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (pythonGH-19725) bpo-40387: Improve queue join() example. (pythonGH-19724) bpo-40396: Support GenericAlias in the typing functions. (pythonGH-19718) Fix typo in Lib/typing.py (pythonGH-19717) Fix typo in object.__format__ docs (pythonGH-19504) bpo-40275: Avoid importing logging in test.support (pythonGH-19601) bpo-40275: Avoid importing socket in test.support (pythonGH-19603) bpo-40275: Avoid importing asyncio in test.support (pythonGH-19600) bpo-40279: Add some error-handling to the module initialisation docs example (pythonGH-19705) closes bpo-40385: Remove Tools/scripts/checkpyc.py (pythonGH-19709) bpo-40334: Add What's New sections for PEP 617 and PEP 585 (pythonGH-19704) bpo-40340: Separate examples more clearly in the programming FAQ (pythonGH-19688) bpo-40360: Deprecate lib2to3 module in light of PEP 617 (pythonGH-19663) bpo-40334: Rewrite test_c_parser to avoid memory leaks (pythonGH-19694) bpo-38061: subprocess uses closefrom() on FreeBSD (pythonGH-19697) bpo-38061: os.closerange() uses closefrom() on FreeBSD (pythonGH-19696) ...
socketrelated functions fromtest.supporttosocket_helper.socketandnntpliblazily intransient_internet().multiprocess.https://bugs.python.org/issue40275