changeset 28329:cdd13ed3e5cb v8.2.4690

patch 8.2.4690: channel tests fail on MS-Windows Commit: https://github.com/vim/vim/commit/1b76a8dfe21903d6f3ff190e84f3690ee7a73643 Author: LemonBoy <thatlemon@gmail.com> Date: Mon Apr 4 21:13:35 2022 +0100 patch 8.2.4690: channel tests fail on MS-Windows Problem: Channel tests fail on MS-Windows. Solution: Check if the AF_UNIX attribute exists. (closes https://github.com/vim/vim/issues/10083)
author Bram Moolenaar <Bram@vim.org>
date Mon, 04 Apr 2022 22:15:04 +0200
parents bf359def1262
children de5bfa711138
files src/testdir/test_channel.py src/testdir/test_channel_unix.py src/version.c
diffstat 3 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -19,12 +19,7 @@ except ImportError:
     # Python 2
     import SocketServer as socketserver
 
-class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
-
-    def setup(self):
-        if self.server.address_family != socket.AF_UNIX:
-            self.request.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-
+class TestingRequestHandler(socketserver.BaseRequestHandler):
     def handle(self):
         print("=== socket opened ===")
         while True:
@@ -240,6 +235,10 @@ class ThreadedTCPRequestHandler(socketse
                 elif decoded[0] < 0:
                     last_eval = decoded
 
+class ThreadedTCPRequestHandler(TestingRequestHandler):
+    def setup(self):
+        self.request.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+
 class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
     pass
 
--- a/src/testdir/test_channel_unix.py
+++ b/src/testdir/test_channel_unix.py
@@ -6,7 +6,7 @@
 # This requires Python 2.6 or later.
 
 from __future__ import print_function
-from test_channel import ThreadedTCPServer, ThreadedTCPRequestHandler, \
+from test_channel import ThreadedTCPServer, TestingRequestHandler, \
     writePortInFile
 import socket
 import threading
@@ -18,11 +18,17 @@ except NameError:
     # Python 2
     FileNotFoundError = (IOError, OSError)
 
+if not hasattr(socket, "AF_UNIX"):
+    raise NotImplementedError("Unix sockets are not supported on this platform")
+
 class ThreadedUnixServer(ThreadedTCPServer):
     address_family = socket.AF_UNIX
 
+class ThreadedUnixRequestHandler(TestingRequestHandler):
+    pass
+
 def main(path):
-    server = ThreadedUnixServer(path, ThreadedTCPRequestHandler)
+    server = ThreadedUnixServer(path, ThreadedUnixRequestHandler)
 
     # Start a thread with the server.  That thread will then start a new thread
     # for each connection.
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4690,
+/**/
     4689,
 /**/
     4688,