Skip to content

bpo-40275: Avoid importing socket in test.support #19603

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 25, 2020

Conversation

serhiy-storchaka
Copy link
Member

@serhiy-storchaka serhiy-storchaka commented Apr 19, 2020

  • Move socket related functions from test.support to socket_helper.
  • Import socket and nntplib lazily in transient_internet().
  • Remove importing multiprocess.

https://bugs.python.org/issue40275

* Move socket related functions from test.support to socket_helper.
* Import socket and nntplib lazily in transient_internet().
* Remove importing multiprocess.
@serhiy-storchaka
Copy link
Member Author

It depends on #19600 because asyncio imports socket.

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@serhiy-storchaka
Copy link
Member Author

What do you think of moving transient_internet() into socket_helper?

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.

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I clearly see the rationale for creating a dedicated support.socket_helper submodule, there are way enough functions to add there.

@serhiy-storchaka serhiy-storchaka merged commit 1699491 into python:master Apr 25, 2020
erlend-aasland pushed a commit to erlend-aasland/cpython that referenced this pull request Apr 27, 2020
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Apr 27, 2020
* '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)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants