diff options
author | Xavier de Gaye <xdegaye@users.sourceforge.net> | 2016-12-13 08:22:01 (GMT) |
---|---|---|
committer | Xavier de Gaye <xdegaye@users.sourceforge.net> | 2016-12-13 08:22:01 (GMT) |
commit | d0c2b5b0ae8ea2d727c965840fa35dfdc7fecce1 (patch) | |
tree | 9feaac8267b1e1e4bea628ff016bc0cbb44c3aac /Lib/test/test_socket.py | |
parent | 5831d7d5580e39b6558fd278be996fc8d87067dc (diff) | |
download | cpython-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.py | 16 |
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 |