Make test_socket pass. There was an unchecked error when a Unicode
hostname was passed.
This commit is contained in:
parent
1ab8330827
commit
b5b2270afb
@ -9,7 +9,6 @@ import time
|
|||||||
import thread, threading
|
import thread, threading
|
||||||
import Queue
|
import Queue
|
||||||
import sys
|
import sys
|
||||||
import array
|
|
||||||
from weakref import proxy
|
from weakref import proxy
|
||||||
import signal
|
import signal
|
||||||
|
|
||||||
@ -394,16 +393,16 @@ class GeneralModuleTests(unittest.TestCase):
|
|||||||
from socket import inet_aton as f, inet_pton, AF_INET
|
from socket import inet_aton as f, inet_pton, AF_INET
|
||||||
g = lambda a: inet_pton(AF_INET, a)
|
g = lambda a: inet_pton(AF_INET, a)
|
||||||
|
|
||||||
self.assertEquals('\x00\x00\x00\x00', f('0.0.0.0'))
|
self.assertEquals(b'\x00\x00\x00\x00', f('0.0.0.0'))
|
||||||
self.assertEquals('\xff\x00\xff\x00', f('255.0.255.0'))
|
self.assertEquals(b'\xff\x00\xff\x00', f('255.0.255.0'))
|
||||||
self.assertEquals('\xaa\xaa\xaa\xaa', f('170.170.170.170'))
|
self.assertEquals(b'\xaa\xaa\xaa\xaa', f('170.170.170.170'))
|
||||||
self.assertEquals('\x01\x02\x03\x04', f('1.2.3.4'))
|
self.assertEquals(b'\x01\x02\x03\x04', f('1.2.3.4'))
|
||||||
self.assertEquals('\xff\xff\xff\xff', f('255.255.255.255'))
|
self.assertEquals(b'\xff\xff\xff\xff', f('255.255.255.255'))
|
||||||
|
|
||||||
self.assertEquals('\x00\x00\x00\x00', g('0.0.0.0'))
|
self.assertEquals(b'\x00\x00\x00\x00', g('0.0.0.0'))
|
||||||
self.assertEquals('\xff\x00\xff\x00', g('255.0.255.0'))
|
self.assertEquals(b'\xff\x00\xff\x00', g('255.0.255.0'))
|
||||||
self.assertEquals('\xaa\xaa\xaa\xaa', g('170.170.170.170'))
|
self.assertEquals(b'\xaa\xaa\xaa\xaa', g('170.170.170.170'))
|
||||||
self.assertEquals('\xff\xff\xff\xff', g('255.255.255.255'))
|
self.assertEquals(b'\xff\xff\xff\xff', g('255.255.255.255'))
|
||||||
|
|
||||||
def testIPv6toString(self):
|
def testIPv6toString(self):
|
||||||
if not hasattr(socket, 'inet_pton'):
|
if not hasattr(socket, 'inet_pton'):
|
||||||
@ -430,14 +429,14 @@ class GeneralModuleTests(unittest.TestCase):
|
|||||||
from socket import inet_ntoa as f, inet_ntop, AF_INET
|
from socket import inet_ntoa as f, inet_ntop, AF_INET
|
||||||
g = lambda a: inet_ntop(AF_INET, a)
|
g = lambda a: inet_ntop(AF_INET, a)
|
||||||
|
|
||||||
self.assertEquals('1.0.1.0', f('\x01\x00\x01\x00'))
|
self.assertEquals('1.0.1.0', f(b'\x01\x00\x01\x00'))
|
||||||
self.assertEquals('170.85.170.85', f('\xaa\x55\xaa\x55'))
|
self.assertEquals('170.85.170.85', f(b'\xaa\x55\xaa\x55'))
|
||||||
self.assertEquals('255.255.255.255', f('\xff\xff\xff\xff'))
|
self.assertEquals('255.255.255.255', f(b'\xff\xff\xff\xff'))
|
||||||
self.assertEquals('1.2.3.4', f('\x01\x02\x03\x04'))
|
self.assertEquals('1.2.3.4', f(b'\x01\x02\x03\x04'))
|
||||||
|
|
||||||
self.assertEquals('1.0.1.0', g('\x01\x00\x01\x00'))
|
self.assertEquals('1.0.1.0', g(b'\x01\x00\x01\x00'))
|
||||||
self.assertEquals('170.85.170.85', g('\xaa\x55\xaa\x55'))
|
self.assertEquals('170.85.170.85', g(b'\xaa\x55\xaa\x55'))
|
||||||
self.assertEquals('255.255.255.255', g('\xff\xff\xff\xff'))
|
self.assertEquals('255.255.255.255', g(b'\xff\xff\xff\xff'))
|
||||||
|
|
||||||
def testStringToIPv6(self):
|
def testStringToIPv6(self):
|
||||||
if not hasattr(socket, 'inet_ntop'):
|
if not hasattr(socket, 'inet_ntop'):
|
||||||
@ -1053,25 +1052,25 @@ class BufferIOTest(SocketConnectedTest):
|
|||||||
SocketConnectedTest.__init__(self, methodName=methodName)
|
SocketConnectedTest.__init__(self, methodName=methodName)
|
||||||
|
|
||||||
def testRecvInto(self):
|
def testRecvInto(self):
|
||||||
buf = array.array('c', ' '*1024)
|
buf = b" "*1024
|
||||||
nbytes = self.cli_conn.recv_into(buf)
|
nbytes = self.cli_conn.recv_into(buf)
|
||||||
self.assertEqual(nbytes, len(MSG))
|
self.assertEqual(nbytes, len(MSG))
|
||||||
msg = buf.tostring()[:len(MSG)]
|
msg = str(buf[:len(MSG)])
|
||||||
self.assertEqual(msg, MSG)
|
self.assertEqual(msg, MSG)
|
||||||
|
|
||||||
def _testRecvInto(self):
|
def _testRecvInto(self):
|
||||||
buf = buffer(MSG)
|
buf = bytes(MSG)
|
||||||
self.serv_conn.send(buf)
|
self.serv_conn.send(buf)
|
||||||
|
|
||||||
def testRecvFromInto(self):
|
def testRecvFromInto(self):
|
||||||
buf = array.array('c', ' '*1024)
|
buf = b" "*1024
|
||||||
nbytes, addr = self.cli_conn.recvfrom_into(buf)
|
nbytes, addr = self.cli_conn.recvfrom_into(buf)
|
||||||
self.assertEqual(nbytes, len(MSG))
|
self.assertEqual(nbytes, len(MSG))
|
||||||
msg = buf.tostring()[:len(MSG)]
|
msg = str(buf[:len(MSG)])
|
||||||
self.assertEqual(msg, MSG)
|
self.assertEqual(msg, MSG)
|
||||||
|
|
||||||
def _testRecvFromInto(self):
|
def _testRecvFromInto(self):
|
||||||
buf = buffer(MSG)
|
buf = bytes(MSG)
|
||||||
self.serv_conn.send(buf)
|
self.serv_conn.send(buf)
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
|
@ -3854,7 +3854,8 @@ socket_getaddrinfo(PyObject *self, PyObject *args)
|
|||||||
idna = PyObject_CallMethod(hobj, "encode", "s", "idna");
|
idna = PyObject_CallMethod(hobj, "encode", "s", "idna");
|
||||||
if (!idna)
|
if (!idna)
|
||||||
return NULL;
|
return NULL;
|
||||||
hptr = PyString_AsString(idna);
|
assert(PyBytes_Check(idna));
|
||||||
|
hptr = PyBytes_AsString(idna);
|
||||||
} else if (PyString_Check(hobj)) {
|
} else if (PyString_Check(hobj)) {
|
||||||
hptr = PyString_AsString(hobj);
|
hptr = PyString_AsString(hobj);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user