]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39481: fix test_genericalias on Android (GH-19469)
authorChih-Hsuan Yen <yan12125@gmail.com>
Mon, 13 Apr 2020 22:00:16 +0000 (06:00 +0800)
committerGitHub <noreply@github.com>
Mon, 13 Apr 2020 22:00:16 +0000 (15:00 -0700)
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

Lib/test/test_genericalias.py

index a00899f5267d724cba1d301d6f84e08211a65d14..02b72838277e995016ca98306a12c261e871a47b 100644 (file)
@@ -19,7 +19,11 @@ from itertools import chain
 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 @@ class BaseTest(unittest.TestCase):
                   Future, _WorkItem,
                   Morsel,
                   ):
+            if t is None:
+                continue
             tname = t.__name__
             with self.subTest(f"Testing {tname}"):
                 alias = t[int]