Commit 413118eb authored by Michael Felt's avatar Michael Felt Committed by Andrew Svetlov

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

parent a3c8ba72
...@@ -41,9 +41,11 @@ def tearDownModule(): ...@@ -41,9 +41,11 @@ def tearDownModule():
asyncio.set_event_loop_policy(None) 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.""" """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 return False
version = platform.mac_ver()[0] version = platform.mac_ver()[0]
version = tuple(map(int, version.split('.'))) version = tuple(map(int, version.split('.')))
...@@ -617,7 +619,7 @@ class EventLoopTestsMixin: ...@@ -617,7 +619,7 @@ class EventLoopTestsMixin:
def test_create_unix_connection(self): def test_create_unix_connection(self):
# Issue #20682: On Mac OS X Tiger, getsockname() returns a # Issue #20682: On Mac OS X Tiger, getsockname() returns a
# zero-length address for UNIX socket. # 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: with test_utils.run_test_unix_server() as httpd:
conn_fut = self.loop.create_unix_connection( conn_fut = self.loop.create_unix_connection(
...@@ -748,7 +750,7 @@ class EventLoopTestsMixin: ...@@ -748,7 +750,7 @@ class EventLoopTestsMixin:
def test_create_ssl_unix_connection(self): def test_create_ssl_unix_connection(self):
# Issue #20682: On Mac OS X Tiger, getsockname() returns a # Issue #20682: On Mac OS X Tiger, getsockname() returns a
# zero-length address for UNIX socket. # 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: with test_utils.run_test_unix_server(use_ssl=True) as httpd:
create_connection = functools.partial( create_connection = functools.partial(
......
On AIX with AF_UNIX family sockets getsockname() does not provide 'sockname',
so skip calls to transport.get_extra_info('sockname')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment