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)