Mercurial > vim
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.