summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_socket.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-10-23 17:05:13 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-10-23 17:05:13 (GMT)
commit1cae8b58eb5929b22a469e7ebb65382b808f7d04 (patch)
tree891141226aa2eabec86fa0beca86908ab45b24de /Lib/test/test_socket.py
parent75d8c5cea26912dd58f27689fbe9f7679e45aeb8 (diff)
downloadcpython-1cae8b58eb5929b22a469e7ebb65382b808f7d04.zip
cpython-1cae8b58eb5929b22a469e7ebb65382b808f7d04.tar.gz
cpython-1cae8b58eb5929b22a469e7ebb65382b808f7d04.tar.bz2
Also guard other SOCK_NONBLOCK test
Diffstat (limited to 'Lib/test/test_socket.py')
-rw-r--r--Lib/test/test_socket.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 1f8f93f..699efc0 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -35,6 +35,14 @@ def try_address(host, port=0, family=socket.AF_INET):
sock.close()
return True
+def linux_version():
+ try:
+ # platform.release() is something like '2.6.33.7-desktop-2mnb'
+ version_string = platform.release().split('-')[0]
+ return tuple(map(int, version_string.split('.')))
+ except ValueError:
+ return 0, 0, 0
+
HOST = support.HOST
MSG = 'Michael Gilfix was here\u1234\r\n'.encode('utf8') ## test unicode string and carriage return
SUPPORTS_IPV6 = socket.has_ipv6 and try_address('::1', family=socket.AF_INET6)
@@ -911,10 +919,14 @@ class NonBlockingTCPTests(ThreadedTCPSocketTest):
if hasattr(socket, "SOCK_NONBLOCK"):
def testInitNonBlocking(self):
+ v = linux_version()
+ if v < (2, 6, 28):
+ self.skipTest("Linux kernel 2.6.28 or higher required, not %s"
+ % ".".join(map(str, v)))
# reinit server socket
self.serv.close()
self.serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM |
- socket.SOCK_NONBLOCK)
+ socket.SOCK_NONBLOCK)
self.port = support.bind_port(self.serv)
self.serv.listen(1)
# actual testing
@@ -1829,14 +1841,6 @@ class ContextManagersTest(ThreadedTCPSocketTest):
self.assertRaises(socket.error, sock.sendall, b'foo')
-def linux_version():
- try:
- # platform.release() is something like '2.6.33.7-desktop-2mnb'
- version_string = platform.release().split('-')[0]
- return tuple(map(int, version_string.split('.')))
- except ValueError:
- return 0, 0, 0
-
@unittest.skipUnless(hasattr(socket, "SOCK_CLOEXEC"),
"SOCK_CLOEXEC not defined")
@unittest.skipUnless(fcntl, "module fcntl not available")