Fix test_asyncio for AIX - do not call transport.get_extra_info('sockname') (#8907)

This commit is contained in:
Michael Felt 2018-09-14 01:35:56 +02:00 committed by Andrew Svetlov
parent a3c8ba7235
commit 413118ebf3
2 changed files with 8 additions and 4 deletions

View File

@ -41,9 +41,11 @@ def tearDownModule():
asyncio.set_event_loop_policy(None)
def osx_tiger():
def broken_unix_getsockname():
"""Return True if the platform is Mac OS 10.4 or older."""
if sys.platform != 'darwin':
if sys.platform.startswith("aix"):
return True
elif sys.platform != 'darwin':
return False
version = platform.mac_ver()[0]
version = tuple(map(int, version.split('.')))
@ -617,7 +619,7 @@ class EventLoopTestsMixin:
def test_create_unix_connection(self):
# Issue #20682: On Mac OS X Tiger, getsockname() returns a
# zero-length address for UNIX socket.
check_sockname = not osx_tiger()
check_sockname = not broken_unix_getsockname()
with test_utils.run_test_unix_server() as httpd:
conn_fut = self.loop.create_unix_connection(
@ -748,7 +750,7 @@ class EventLoopTestsMixin:
def test_create_ssl_unix_connection(self):
# Issue #20682: On Mac OS X Tiger, getsockname() returns a
# zero-length address for UNIX socket.
check_sockname = not osx_tiger()
check_sockname = not broken_unix_getsockname()
with test_utils.run_test_unix_server(use_ssl=True) as httpd:
create_connection = functools.partial(

View File

@ -0,0 +1,2 @@
On AIX with AF_UNIX family sockets getsockname() does not provide 'sockname',
so skip calls to transport.get_extra_info('sockname')