Kaydet (Commit) 15863ea0 authored tarafından Guido van Rossum's avatar Guido van Rossum

SF patch# 1764815 by Paul Colomiets.

Fix for test_socketserver.
Use io.BytesIO instead of io.StringIO, and adjust tests.
üst ad8d3009
...@@ -574,10 +574,10 @@ class DatagramRequestHandler(BaseRequestHandler): ...@@ -574,10 +574,10 @@ class DatagramRequestHandler(BaseRequestHandler):
"""Define self.rfile and self.wfile for datagram sockets.""" """Define self.rfile and self.wfile for datagram sockets."""
def setup(self): def setup(self):
from io import StringIO from io import BytesIO
self.packet, self.socket = self.request self.packet, self.socket = self.request
self.rfile = StringIO(self.packet) self.rfile = BytesIO(self.packet)
self.wfile = StringIO() self.wfile = BytesIO()
def finish(self): def finish(self):
self.socket.sendto(self.wfile.getvalue(), self.client_address) self.socket.sendto(self.wfile.getvalue(), self.client_address)
...@@ -38,7 +38,7 @@ class MyMixinServer: ...@@ -38,7 +38,7 @@ class MyMixinServer:
self.server_close() self.server_close()
raise raise
teststring = "hello world\n" teststring = b"hello world\n"
def receive(sock, n, timeout=20): def receive(sock, n, timeout=20):
r, w, x = select.select([sock], [], [], timeout) r, w, x = select.select([sock], [], [], timeout)
...@@ -51,7 +51,7 @@ def testdgram(proto, addr): ...@@ -51,7 +51,7 @@ def testdgram(proto, addr):
s = socket.socket(proto, socket.SOCK_DGRAM) s = socket.socket(proto, socket.SOCK_DGRAM)
s.sendto(teststring, addr) s.sendto(teststring, addr)
buf = data = receive(s, 100) buf = data = receive(s, 100)
while data and '\n' not in buf: while data and b'\n' not in buf:
data = receive(s, 100) data = receive(s, 100)
buf += data buf += data
verify(buf == teststring) verify(buf == teststring)
...@@ -62,7 +62,7 @@ def teststream(proto, addr): ...@@ -62,7 +62,7 @@ def teststream(proto, addr):
s.connect(addr) s.connect(addr)
s.sendall(teststring) s.sendall(teststring)
buf = data = receive(s, 100) buf = data = receive(s, 100)
while data and '\n' not in buf: while data and b'\n' not in buf:
data = receive(s, 100) data = receive(s, 100)
buf += data buf += data
verify(buf == teststring) verify(buf == teststring)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment