Convert the socket module to insist on bytes for input, and to return bytes
(not bytearray) on output.  Discovered a bunch of places that were still
depending on it accepting text strings.
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
index 62aae05..d782c53 100644
--- a/Lib/test/test_ftplib.py
+++ b/Lib/test/test_ftplib.py
@@ -18,7 +18,7 @@
     except socket.timeout:
         pass
     else:
-        conn.send("1 Hola mundo\n")
+        conn.send(b"1 Hola mundo\n")
         conn.close()
     finally:
         serv.close()
diff --git a/Lib/test/test_poplib.py b/Lib/test/test_poplib.py
index ef8565c..983cf21 100644
--- a/Lib/test/test_poplib.py
+++ b/Lib/test/test_poplib.py
@@ -19,7 +19,7 @@
     except socket.timeout:
         pass
     else:
-        conn.send("+ Hola mundo\n")
+        conn.send(b"+ Hola mundo\n")
         conn.close()
     finally:
         serv.close()
diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py
index 00c3ad4..4151d6b 100644
--- a/Lib/test/test_smtplib.py
+++ b/Lib/test/test_smtplib.py
@@ -50,7 +50,7 @@
 
     def setUp(self):
         self.evt = threading.Event()
-        servargs = (self.evt, "220 Hola mundo\n")
+        servargs = (self.evt, b"220 Hola mundo\n")
         threading.Thread(target=server, args=servargs).start()
 
         # wait until server thread has assigned a port number
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index c01d998..97445a0 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -498,7 +498,7 @@
         sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         sock.settimeout(1)
         sock.close()
-        self.assertRaises(socket.error, sock.send, "spam")
+        self.assertRaises(socket.error, sock.send, b"spam")
 
     def testNewAttributes(self):
         # testing .family, .type and .protocol
diff --git a/Lib/test/test_urllib2_localnet.py b/Lib/test/test_urllib2_localnet.py
index dde9504..f0b5dea 100644
--- a/Lib/test/test_urllib2_localnet.py
+++ b/Lib/test/test_urllib2_localnet.py
@@ -139,7 +139,7 @@
         # not.
         #request_handler.send_header('Connection', 'close')
         request_handler.end_headers()
-        request_handler.wfile.write("Proxy Authentication Required.")
+        request_handler.wfile.write(b"Proxy Authentication Required.")
         return False
 
     def handle_request(self, request_handler):
@@ -210,9 +210,10 @@
             self.send_response(200, "OK")
             self.send_header("Content-Type", "text/html")
             self.end_headers()
-            self.wfile.write("You've reached %s!<BR>" % self.path)
-            self.wfile.write("Our apologies, but our server is down due to "
-                              "a sudden zombie invasion.")
+            self.wfile.write(bytes("You've reached %s!<BR>" % self.path,
+                                   "ascii"))
+            self.wfile.write(b"Our apologies, but our server is down due to "
+                             b"a sudden zombie invasion.")
 
 # Test cases