Issue #20532: Tests which use _testcapi now are marked as CPython only.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 35e983e..5fd96fe 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -4,7 +4,6 @@
import errno
import socket
import select
-import _testcapi
import time
import traceback
import Queue
@@ -711,7 +710,10 @@
srv.listen(backlog)
srv.close()
+ @test_support.cpython_only
+ def test_listen_backlog_overflow(self):
# Issue 15989
+ import _testcapi
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
srv.bind((HOST, 0))
self.assertRaises(OverflowError, srv.listen, _testcapi.INT_MAX + 1)
@@ -818,6 +820,14 @@
def _testShutdown(self):
self.serv_conn.send(MSG)
+ self.serv_conn.shutdown(2)
+
+ testShutdown_overflow = test_support.cpython_only(testShutdown)
+
+ @test_support.cpython_only
+ def _testShutdown_overflow(self):
+ import _testcapi
+ self.serv_conn.send(MSG)
# Issue 15989
self.assertRaises(OverflowError, self.serv_conn.shutdown,
_testcapi.INT_MAX + 1)
@@ -911,14 +921,23 @@
pass
end = time.time()
self.assertTrue((end - start) < 1.0, "Error setting non-blocking mode.")
- # Issue 15989
- if _testcapi.UINT_MAX < _testcapi.ULONG_MAX:
- self.serv.setblocking(_testcapi.UINT_MAX + 1)
- self.assertIsNone(self.serv.gettimeout())
def _testSetBlocking(self):
pass
+ @test_support.cpython_only
+ def testSetBlocking_overflow(self):
+ # Issue 15989
+ import _testcapi
+ if _testcapi.UINT_MAX >= _testcapi.ULONG_MAX:
+ self.skipTest('needs UINT_MAX < ULONG_MAX')
+ self.serv.setblocking(False)
+ self.assertEqual(self.serv.gettimeout(), 0.0)
+ self.serv.setblocking(_testcapi.UINT_MAX + 1)
+ self.assertIsNone(self.serv.gettimeout())
+
+ _testSetBlocking_overflow = test_support.cpython_only(_testSetBlocking)
+
def testAccept(self):
# Testing non-blocking accept
self.serv.setblocking(0)