GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — bpo-40275: Avoid importing socket in test.support by serhiy-storchaka · Pull Request #19603 · python/cpython

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Apr 19, 2020 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member
  • 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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@serhiy-storchaka
bpo-40275: Avoid importing socket in test.support
76b9f28
* Move socket related functions from test.support to socket_helper.
* Import socket and nntplib lazily in transient_internet().
* Remove importing multiprocess.
@serhiy-storchaka serhiy-storchaka added the skip news label Apr 19, 2020
@serhiy-storchaka
serhiy-storchaka requested review from a team, 1st1, asvetlov, berkerpeksag, tiran and vsajip as code owners April 19, 2020 13:35
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Apr 19, 2020
@bedevere-bot bedevere-bot added the awaiting core review label Apr 19, 2020
@serhiy-storchaka

serhiy-storchaka commented Apr 19, 2020

Copy link
Copy Markdown
Member Author

It depends on #19600 because asyncio imports socket.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

serhiy-storchaka added 3 commits April 19, 2020 16:54
@serhiy-storchaka
Fix merge.
c18bdc9
@serhiy-storchaka
Fix tests on Windows.
4486f4b
@serhiy-storchaka
Import urllib lazily in transient_internet().
578d77a
vstinner
vstinner reviewed Apr 20, 2020
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this 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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread Doc/library/test.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@serhiy-storchaka
Add the versionadded directive.
c3c9de8
@serhiy-storchaka

serhiy-storchaka commented Apr 20, 2020

Copy link
Copy Markdown
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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

vstinner
vstinner approved these changes Apr 20, 2020
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this 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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Apr 20, 2020
@serhiy-storchaka
serhiy-storchaka merged commit 1699491 into python:master Apr 25, 2020
@bedevere-bot bedevere-bot removed the awaiting merge label Apr 25, 2020
@ned-deily ned-deily mentioned this pull request Apr 27, 2020
bpo-35569: Expose RFC 3542 IPv6 socket options on macOS #19526
Merged
erlend-aasland pushed a commit to erlend-aasland/cpython that referenced this pull request Apr 27, 2020
Erlend E. Aasland
Use socket_helper (see PR python#19603)
ebfde1f
CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Apr 27, 2020
@CuriousLearner
Merge branch 'master' of github.com:python/cpython into fix-issue21914
42c39a3
* '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)
  ...
@serhiy-storchaka
serhiy-storchaka deleted the test-support-socket branch July 1, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@vstinner vstinner vstinner approved these changes
@1st1 1st1 Awaiting requested review from 1st1
@asvetlov asvetlov Awaiting requested review from asvetlov
@berkerpeksag berkerpeksag Awaiting requested review from berkerpeksag
@tiran tiran Awaiting requested review from tiran
@vsajip vsajip Awaiting requested review from vsajip

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@serhiy-storchaka @vstinner @the-knights-who-say-ni @bedevere-bot
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.