# HG changeset patch # User Bram Moolenaar # Date 1649103304 -7200 # Node ID cdd13ed3e5cb3696ea08b31357de7c85bc56a125 # Parent bf359def12622d4df198897d21c87bbbb5f9213f patch 8.2.4690: channel tests fail on MS-Windows Commit: https://github.com/vim/vim/commit/1b76a8dfe21903d6f3ff190e84f3690ee7a73643 Author: LemonBoy 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) diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py --- 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 diff --git a/src/testdir/test_channel_unix.py b/src/testdir/test_channel_unix.py --- 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. diff --git a/src/version.c b/src/version.c --- 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,