Fix ThreadedVSOCKSocketStreamTest
This commit is contained in:
parent
994b826cd1
commit
2fef19cb00
2 changed files with 77 additions and 0 deletions
|
|
@ -0,0 +1,66 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Miss Islington (bot)"
|
||||
<31488909+miss-islington@users.noreply.github.com>
|
||||
Date: Fri, 24 May 2024 01:23:55 +0200
|
||||
Subject: [PATCH] 00438: Fix ThreadedVSOCKSocketStreamTest (GH-119465)
|
||||
(GH-119479) (#119484)
|
||||
|
||||
Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
|
||||
address or the "any" address, use the local communication address
|
||||
(loopback): VMADDR_CID_LOCAL.
|
||||
|
||||
On Linux 6.9, apparently, the /dev/vsock device is now available but
|
||||
get_cid() returns VMADDR_CID_ANY (-1).
|
||||
|
||||
(cherry picked from commit c750061047ee520d8299334df4b112fd983d7e48)
|
||||
|
||||
Co-authored-by: Victor Stinner <vstinner@python.org>
|
||||
(cherry picked from commit e94dbe4ed83460f18bd72563c5f09f6cdc71f604)
|
||||
|
||||
Co-authored-by: Victor Stinner <vstinner@python.org>
|
||||
---
|
||||
Lib/test/test_socket.py | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
|
||||
index b36cb5beae..2f73ec24c3 100755
|
||||
--- a/Lib/test/test_socket.py
|
||||
+++ b/Lib/test/test_socket.py
|
||||
@@ -39,6 +39,7 @@ HOST = socket_helper.HOST
|
||||
# test unicode string and carriage return
|
||||
MSG = 'Michael Gilfix was here\u1234\r\n'.encode('utf-8')
|
||||
|
||||
+VMADDR_CID_LOCAL = 1
|
||||
VSOCKPORT = 1234
|
||||
AIX = platform.system() == "AIX"
|
||||
|
||||
@@ -122,8 +123,8 @@ def _have_socket_qipcrtr():
|
||||
|
||||
def _have_socket_vsock():
|
||||
"""Check whether AF_VSOCK sockets are supported on this host."""
|
||||
- ret = get_cid() is not None
|
||||
- return ret
|
||||
+ cid = get_cid()
|
||||
+ return (cid is not None)
|
||||
|
||||
|
||||
def _have_socket_bluetooth():
|
||||
@@ -485,8 +486,6 @@ class ThreadedRDSSocketTest(SocketRDSTest, ThreadableTest):
|
||||
@unittest.skipIf(fcntl is None, "need fcntl")
|
||||
@unittest.skipUnless(HAVE_SOCKET_VSOCK,
|
||||
'VSOCK sockets required for this test.')
|
||||
-@unittest.skipUnless(get_cid() != 2,
|
||||
- "This test can only be run on a virtual guest.")
|
||||
class ThreadedVSOCKSocketStreamTest(unittest.TestCase, ThreadableTest):
|
||||
|
||||
def __init__(self, methodName='runTest'):
|
||||
@@ -507,6 +506,9 @@ class ThreadedVSOCKSocketStreamTest(unittest.TestCase, ThreadableTest):
|
||||
self.cli = socket.socket(socket.AF_VSOCK, socket.SOCK_STREAM)
|
||||
self.addCleanup(self.cli.close)
|
||||
cid = get_cid()
|
||||
+ if cid in (socket.VMADDR_CID_HOST, socket.VMADDR_CID_ANY):
|
||||
+ # gh-119461: Use the local communication address (loopback)
|
||||
+ cid = VMADDR_CID_LOCAL
|
||||
self.cli.connect((cid, VSOCKPORT))
|
||||
|
||||
def testStream(self):
|
||||
|
|
@ -385,6 +385,17 @@ Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-g
|
|||
# gh-99086: Fix implicit int compiler warning in configure check for PTHREAD_SCOPE_SYSTEM
|
||||
Patch407: 00407-gh-99086-fix-implicit-int-compiler-warning-in-configure-check-for-pthread_scope_system.patch
|
||||
|
||||
# 00438 # 640f507108d102da99fa2f39d268a43f86c97acb
|
||||
# Fix ThreadedVSOCKSocketStreamTest (GH-119465) (GH-119479) (#119484)
|
||||
#
|
||||
# Fix ThreadedVSOCKSocketStreamTest: if get_cid() returns the host
|
||||
# address or the "any" address, use the local communication address
|
||||
# (loopback): VMADDR_CID_LOCAL.
|
||||
#
|
||||
# On Linux 6.9, apparently, the /dev/vsock device is now available but
|
||||
# get_cid() returns VMADDR_CID_ANY (-1).
|
||||
Patch438: 00438-fix-threadedvsocksocketstreamtest-gh-119465-gh-119479-119484.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue