summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_socket.py
diff options
context:
space:
mode:
authorXavier de Gaye <xdegaye@users.sourceforge.net>2016-12-13 08:22:01 (GMT)
committerXavier de Gaye <xdegaye@users.sourceforge.net>2016-12-13 08:22:01 (GMT)
commitd0c2b5b0ae8ea2d727c965840fa35dfdc7fecce1 (patch)
tree9feaac8267b1e1e4bea628ff016bc0cbb44c3aac /Lib/test/test_socket.py
parent5831d7d5580e39b6558fd278be996fc8d87067dc (diff)
downloadcpython-d0c2b5b0ae8ea2d727c965840fa35dfdc7fecce1.zip
cpython-d0c2b5b0ae8ea2d727c965840fa35dfdc7fecce1.tar.gz
cpython-d0c2b5b0ae8ea2d727c965840fa35dfdc7fecce1.tar.bz2
Issue #26936: Fix the test_socket failures on Android - getservbyname(),
getservbyport() and getaddrinfo() are broken on some Android API levels.
Diffstat (limited to 'Lib/test/test_socket.py')
-rw-r--r--Lib/test/test_socket.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index a5657c7..8dad49f 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -932,8 +932,11 @@ class GeneralModuleTests(unittest.TestCase):
else:
raise OSError
# Try same call with optional protocol omitted
- port2 = socket.getservbyname(service)
- eq(port, port2)
+ # Issue #26936: Android getservbyname() was broken before API 23.
+ if (not hasattr(sys, 'getandroidapilevel') or
+ sys.getandroidapilevel() >= 23):
+ port2 = socket.getservbyname(service)
+ eq(port, port2)
# Try udp, but don't barf if it doesn't exist
try:
udpport = socket.getservbyname(service, 'udp')
@@ -942,7 +945,9 @@ class GeneralModuleTests(unittest.TestCase):
else:
eq(udpport, port)
# Now make sure the lookup by port returns the same service name
- eq(socket.getservbyport(port2), service)
+ # Issue #26936: Android getservbyport() is broken.
+ if not support.is_android:
+ eq(socket.getservbyport(port2), service)
eq(socket.getservbyport(port, 'tcp'), service)
if udpport is not None:
eq(socket.getservbyport(udpport, 'udp'), service)
@@ -1275,7 +1280,10 @@ class GeneralModuleTests(unittest.TestCase):
socket.getaddrinfo('::1', 80)
# port can be a string service name such as "http", a numeric
# port number or None
- socket.getaddrinfo(HOST, "http")
+ # Issue #26936: Android getaddrinfo() was broken before API level 23.
+ if (not hasattr(sys, 'getandroidapilevel') or
+ sys.getandroidapilevel() >= 23):
+ socket.getaddrinfo(HOST, "http")
socket.getaddrinfo(HOST, 80)
socket.getaddrinfo(HOST, None)
# test family and socktype filters