[Python-checkins] bpo-39481: fix test_genericalias on Android (GH-19469)

Chih-Hsuan Yen webhook-mailer at python.org
Mon Apr 13 18:00:32 EDT 2020


https://github.com/python/cpython/commit/25a6833f7945f14cad83509ec73954d0ad70bdb1
commit: 25a6833f7945f14cad83509ec73954d0ad70bdb1
branch: master
author: Chih-Hsuan Yen <yan12125 at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-04-13T15:00:16-07:00
summary:

bpo-39481: fix test_genericalias on Android (GH-19469)

Android bionic does not implement shm_open/shm_unlink [1].
As a result _posixshmem extension does not exist and
multiprocessing.shared_memory cannot be imported.

[1] https://android.googlesource.com/platform/bionic/+/master/docs/status.md

files:
M Lib/test/test_genericalias.py

diff --git a/Lib/test/test_genericalias.py b/Lib/test/test_genericalias.py
index a00899f5267d7..02b72838277e9 100644
--- a/Lib/test/test_genericalias.py
+++ b/Lib/test/test_genericalias.py
@@ -19,7 +19,11 @@
 from http.cookies import Morsel
 from multiprocessing.managers import ValueProxy
 from multiprocessing.pool import ApplyResult
-from multiprocessing.shared_memory import ShareableList
+try:
+    from multiprocessing.shared_memory import ShareableList
+except ImportError:
+    # multiprocessing.shared_memory is not available on e.g. Android
+    ShareableList = None
 from multiprocessing.queues import SimpleQueue
 from os import DirEntry
 from re import Pattern, Match
@@ -71,6 +75,8 @@ def test_subscriptable(self):
                   Future, _WorkItem,
                   Morsel,
                   ):
+            if t is None:
+                continue
             tname = t.__name__
             with self.subTest(f"Testing {tname}"):
                 alias = t[int]



More information about the Python-checkins mailing list