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

Andrew Svetlov webhook-mailer at python.org
Thu Sep 13 19:35:59 EDT 2018


https://github.com/python/cpython/commit/413118ebf3162418639a5c4af14b02d26571a02c
commit: 413118ebf3162418639a5c4af14b02d26571a02c
branch: master
author: Michael Felt <aixtools at users.noreply.github.com>
committer: Andrew Svetlov <andrew.svetlov at gmail.com>
date: 2018-09-13T16:35:56-07:00
summary:

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

files:
A Misc/NEWS.d/next/Tests/2018-08-24-20-23-15.bpo-34490.vb2cx4.rst
M Lib/test/test_asyncio/test_events.py

diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py
index 01f616ab5b19..708fb3273ddf 100644
--- a/Lib/test/test_asyncio/test_events.py
+++ b/Lib/test/test_asyncio/test_events.py
@@ -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 @@ def test_create_connection(self):
     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 @@ def test_create_ssl_connection(self):
     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(
diff --git a/Misc/NEWS.d/next/Tests/2018-08-24-20-23-15.bpo-34490.vb2cx4.rst b/Misc/NEWS.d/next/Tests/2018-08-24-20-23-15.bpo-34490.vb2cx4.rst
new file mode 100644
index 000000000000..c778f94b5e8d
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2018-08-24-20-23-15.bpo-34490.vb2cx4.rst
@@ -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')



More information about the Python-checkins mailing list