diff options
author | Russell Keith-Magee <russell@keith-magee.com> | 2024-07-31 16:24:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-31 10:24:15 +0200 |
commit | f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660 (patch) | |
tree | d4f6a25a18fc0ca8de86794a78cc62646a390d7e /Lib/test/test_socket.py | |
parent | d01fd240517e0c5fb679686a93119d0aa6b0fc0f (diff) | |
download | cpython-f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660.tar.gz cpython-f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660.zip |
gh-122133: Rework pure Python socketpair tests to avoid use of importlib.reload. (#122493)
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Diffstat (limited to 'Lib/test/test_socket.py')
-rw-r--r-- | Lib/test/test_socket.py | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index bb65c3c5993..7c607a809aa 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -4861,7 +4861,6 @@ class BasicSocketPairTest(SocketPairTest): class PurePythonSocketPairTest(SocketPairTest): - # Explicitly use socketpair AF_INET or AF_INET6 to ensure that is the # code path we're using regardless platform is the pure python one where # `_socket.socketpair` does not exist. (AF_INET does not work with @@ -4876,28 +4875,21 @@ class PurePythonSocketPairTest(SocketPairTest): # Local imports in this class make for easy security fix backporting. def setUp(self): - import _socket - self._orig_sp = getattr(_socket, 'socketpair', None) - if self._orig_sp is not None: + if hasattr(_socket, "socketpair"): + self._orig_sp = socket.socketpair # This forces the version using the non-OS provided socketpair # emulation via an AF_INET socket in Lib/socket.py. - del _socket.socketpair - import importlib - global socket - socket = importlib.reload(socket) + socket.socketpair = socket._fallback_socketpair else: - pass # This platform already uses the non-OS provided version. + # This platform already uses the non-OS provided version. + self._orig_sp = None super().setUp() def tearDown(self): super().tearDown() - import _socket if self._orig_sp is not None: # Restore the default socket.socketpair definition. - _socket.socketpair = self._orig_sp - import importlib - global socket - socket = importlib.reload(socket) + socket.socketpair = self._orig_sp def test_recv(self): msg = self.serv.recv(1024) |