Make test_socket work.
Don't exclude test_socket from the tests to run.
diff --git a/Lib/io.py b/Lib/io.py
index 4d46b47..4c9ddbb 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -300,17 +300,23 @@
 
     def readline(self, limit: int = -1) -> bytes:
         """For backwards compatibility, a (slowish) readline()."""
+        if hasattr(self, "peek"):
+            def nreadahead():
+                readahead = self.peek(1, unsafe=True)
+                if not readahead:
+                    return 1
+                n = (readahead.find(b"\n") + 1) or len(readahead)
+                if limit >= 0:
+                    n = min(n, limit)
+                return n
+        else:
+            def nreadahead():
+                return 1
         if limit is None:
             limit = -1
         res = bytes()
         while limit < 0 or len(res) < limit:
-            readahead = self.peek(1, unsafe=True)
-            if not readahead:
-                break
-            n = (readahead.find(b"\n") + 1) or len(readahead)
-            if limit >= 0:
-                n = min(n, limit)
-            b = self.read(n)
+            b = self.read(nreadahead())
             if not b:
                 break
             res += b