diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-07-31 08:48:59 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-31 08:48:59 (GMT) |
commit | c21a36112a0028d7ac3cf8f480e0dc88dba5922c (patch) | |
tree | 0f1c14ac6cce1805660c3bdd6d32ddf62aac5f81 /Lib/test/test_socket.py | |
parent | 4a6365c5f4f118eaa77e7a65d3f04b4c6714b526 (diff) | |
download | cpython-c21a36112a0028d7ac3cf8f480e0dc88dba5922c.zip cpython-c21a36112a0028d7ac3cf8f480e0dc88dba5922c.tar.gz cpython-c21a36112a0028d7ac3cf8f480e0dc88dba5922c.tar.bz2 |
[3.13] gh-122133: Rework pure Python socketpair tests to avoid use of importlib.reload. (GH-122493) (#122504)
gh-122133: Rework pure Python socketpair tests to avoid use of importlib.reload. (GH-122493)
(cherry picked from commit f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660)
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
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 6c68cb5..90ca61f 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) |