From: Christian Heimes Date: Fri, 4 Jan 2008 15:48:06 +0000 (+0000) Subject: socket.ioctl is only available on Windows X-Git-Tag: v2.6a1~751 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a47b75b0a0e2fc7ee396bb317cd601ecec96f923;p=python socket.ioctl is only available on Windows --- diff --git a/Lib/socket.py b/Lib/socket.py index 7ce28699c9..6b4b743f68 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -141,7 +141,10 @@ _socketmethods = ( 'bind', 'connect', 'connect_ex', 'fileno', 'listen', 'getpeername', 'getsockname', 'getsockopt', 'setsockopt', 'sendall', 'setblocking', - 'settimeout', 'gettimeout', 'shutdown', 'ioctl') + 'settimeout', 'gettimeout', 'shutdown') + +if os.name == "nt": + _socketmethods = _socketmethods + ('ioctl',) if sys.platform == "riscos": _socketmethods = _socketmethods + ('sleeptaskw',) diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 3e2d04c682..8f69a40f0b 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -9,6 +9,7 @@ import time import thread, threading import Queue import sys +import os import array from weakref import proxy import signal @@ -500,6 +501,15 @@ class GeneralModuleTests(unittest.TestCase): self.assertEqual(sock.proto, 0) sock.close() + def test_sock_ioctl(self): + if os.name != "nt": + return + self.assert_(hasattr(socket.socket, 'ioctl')) + self.assert_(hasattr(socket, 'SIO_RCVALL')) + self.assert_(hasattr(socket, 'RCVALL_ON')) + self.assert_(hasattr(socket, 'RCVALL_OFF')) + + class BasicTCPTest(SocketConnectedTest): def __init__(self, methodName='runTest'):