# HG changeset patch # User Tero Marttila # Date 1251056619 -10800 # Node ID 4d5c02fe9c2746c80f8422b5eceee02582593a99 # Parent 50dc1517f79712d34f82702034844493dba856e1 add test for IPv6 -> IPv4 connect failure diff -r 50dc1517f797 -r 4d5c02fe9c27 test/transport_tcp.py --- a/test/transport_tcp.py Sun Aug 23 22:39:19 2009 +0300 +++ b/test/transport_tcp.py Sun Aug 23 22:43:39 2009 +0300 @@ -1,6 +1,6 @@ import unittest -from qmsk.net.socket import socket as _socket, af_inet +from qmsk.net.socket import socket as _socket, af_inet, af_inet6 from qmsk.net.transport import tcp, socket, endpoint class TestService (unittest.TestCase) : @@ -56,6 +56,15 @@ self.assertEquals(cs.sock.getsockname(), sockaddr) self.assertEquals(cs.sock.getpeername(), self.sockaddr) + + def test_connect_bind6 (self) : + sockaddr = af_inet6.sockaddr_in6('::1', self.sockaddr.port + 1) + + # connect with bind() + cc = tcp.Client(self.addr, bind_endpoint=endpoint.SockAddr(sockaddr)) + + # should fail (IPv6 -> IPv4) + self.assertRaises(socket.SocketConnectEndpointError, cc.connect) def test_connect_inet (self) : cc = tcp.Client(endpoint.InetAddr('localhost', self.sockaddr.port), socket.AF_INET) @@ -63,6 +72,7 @@ self.assertEquals(cs.sock.getpeername(), self.sockaddr) + if __name__ == '__main__' : unittest.main()