Author: Brian Kearns <[email protected]>
Branch:
Changeset: r62617:1247527d5553
Date: 2013-03-21 17:39 -0400
http://bitbucket.org/pypy/pypy/changeset/1247527d5553/
Log: further improve socket.gethostby{name,addr} tests
diff --git a/pypy/module/_socket/test/test_sock_app.py
b/pypy/module/_socket/test/test_sock_app.py
--- a/pypy/module/_socket/test/test_sock_app.py
+++ b/pypy/module/_socket/test/test_sock_app.py
@@ -20,29 +20,22 @@
assert space.unwrap(host) == socket.gethostname()
def test_gethostbyname():
- host = "localhost"
- ip = space.appexec([w_socket, space.wrap(host)],
- "(_socket, host): return _socket.gethostbyname(host)")
- assert space.unwrap(ip) == socket.gethostbyname(host)
+ for host in ["localhost", "127.0.0.1"]:
+ ip = space.appexec([w_socket, space.wrap(host)],
+ "(_socket, host): return
_socket.gethostbyname(host)")
+ assert space.unwrap(ip) == socket.gethostbyname(host)
def test_gethostbyname_ex():
- host = "localhost"
- ip = space.appexec([w_socket, space.wrap(host)],
- "(_socket, host): return
_socket.gethostbyname_ex(host)")
- assert isinstance(space.unwrap(ip), tuple)
- assert space.unwrap(ip) == socket.gethostbyname_ex(host)
+ for host in ["localhost", "127.0.0.1"]:
+ ip = space.appexec([w_socket, space.wrap(host)],
+ "(_socket, host): return
_socket.gethostbyname_ex(host)")
+ assert space.unwrap(ip) == socket.gethostbyname_ex(host)
def test_gethostbyaddr():
- host = "localhost"
- expected = socket.gethostbyaddr(host)
- ip = space.appexec([w_socket, space.wrap(host)],
- "(_socket, host): return _socket.gethostbyaddr(host)")
- assert space.unwrap(ip) == socket.gethostbyaddr(host)
-
- host = "127.0.0.1"
- ip = space.appexec([w_socket, space.wrap(host)],
- "(_socket, host): return _socket.gethostbyaddr(host)")
- assert space.unwrap(ip) == socket.gethostbyaddr(host)
+ for host in ["localhost", "127.0.0.1"]:
+ ip = space.appexec([w_socket, space.wrap(host)],
+ "(_socket, host): return
_socket.gethostbyaddr(host)")
+ assert space.unwrap(ip) == socket.gethostbyaddr(host)
def test_getservbyname():
name = "smtp"
diff --git a/rpython/rlib/test/test_rsocket.py
b/rpython/rlib/test/test_rsocket.py
--- a/rpython/rlib/test/test_rsocket.py
+++ b/rpython/rlib/test/test_rsocket.py
@@ -40,55 +40,49 @@
a = NETLINKAddress(pid, group_mask)
assert a.get_pid() == pid
assert a.get_groups() == group_mask
-
+
def test_gethostname():
s = gethostname()
assert isinstance(s, str)
def test_gethostbyname():
- a = gethostbyname('localhost')
- assert isinstance(a, INETAddress)
- assert a.get_host() == "127.0.0.1"
+ for host in ["localhost", "127.0.0.1"]:
+ a = gethostbyname(host)
+ assert isinstance(a, INETAddress)
+ assert a.get_host() == "127.0.0.1"
def test_gethostbyname_ex():
- name, aliases, address_list = gethostbyname_ex('localhost')
- allnames = [name] + aliases
- for n in allnames:
- assert isinstance(n, str)
- if sys.platform != 'win32':
- assert 'localhost' in allnames
- for a in address_list:
- if isinstance(a, INETAddress) and a.get_host() == "127.0.0.1":
- break # ok
- else:
- py.test.fail("could not find the 127.0.0.1 IPv4 address in %r"
- % (address_list,))
+ for host in ["localhost", "127.0.0.1"]:
+ name, aliases, address_list = gethostbyname_ex(host)
+ allnames = [name] + aliases
+ for n in allnames:
+ assert isinstance(n, str)
+ if sys.platform != 'win32':
+ assert host in allnames
+ for a in address_list:
+ if isinstance(a, INETAddress) and a.get_host() == "127.0.0.1":
+ break # ok
+ # no IPV6, should always return IPV4
+ else:
+ py.test.fail("could not find the localhost address in %r"
+ % (address_list,))
def test_gethostbyaddr():
- name, aliases, address_list = gethostbyaddr('127.0.0.1')
- allnames = [name] + aliases
- for n in allnames:
- assert isinstance(n, str)
- if sys.platform != 'win32':
- assert 'localhost' in allnames
- for a in address_list:
- if isinstance(a, INETAddress) and a.get_host() == "127.0.0.1":
- break # ok
- else:
- py.test.fail("could not find the 127.0.0.1 IPv4 address in %r"
- % (address_list,))
-
- name, aliases, address_list = gethostbyaddr('localhost')
+ for host in ["localhost", "127.0.0.1"]:
+ name, aliases, address_list = gethostbyaddr(host)
allnames = [name] + aliases
for n in allnames:
assert isinstance(n, str)
if sys.platform != 'win32':
assert 'localhost' in allnames
for a in address_list:
- if isinstance(a, INET6Address) and a.get_host() == "::1":
+ if isinstance(a, INETAddress) and a.get_host() == "127.0.0.1":
break # ok
+ if host == 'localhost': # name lookup might return IPV6
+ if isinstance(a, INET6Address) and a.get_host() == "::1":
+ break # ok
else:
- py.test.fail("could not find the ::1 IPv6 address in %r"
+ py.test.fail("could not find the localhost address in %r"
% (address_list,))
def test_getservbyname():
@@ -124,7 +118,7 @@
def as_str(self):
return self.x
-
+
if sys.platform == "win32":
py.test.skip('No socketpair on Windows')
s1, s2 = socketpair()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit