summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_genericalias.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-08-07 15:56:42 (GMT)
committerGitHub <noreply@github.com>2020-08-07 15:56:42 (GMT)
commitf44693eaed3b9d91a6e415d48224fd4750b59366 (patch)
tree3ce119ec0ab6f09769273c748f84777001bf91d5 /Lib/test/test_genericalias.py
parent598a951844122678de2596dbc1e0e09e2be65fd2 (diff)
downloadcpython-f44693eaed3b9d91a6e415d48224fd4750b59366.zip
cpython-f44693eaed3b9d91a6e415d48224fd4750b59366.tar.gz
cpython-f44693eaed3b9d91a6e415d48224fd4750b59366.tar.bz2
bpo-41477: Make ctypes optional in test_genericalias (GH-21766)
Diffstat (limited to 'Lib/test/test_genericalias.py')
-rw-r--r--Lib/test/test_genericalias.py80
1 files changed, 42 insertions, 38 deletions
diff --git a/Lib/test/test_genericalias.py b/Lib/test/test_genericalias.py
index 4f3798e..1f24469 100644
--- a/Lib/test/test_genericalias.py
+++ b/Lib/test/test_genericalias.py
@@ -13,7 +13,10 @@ from contextvars import ContextVar, Token
from dataclasses import Field
from functools import partial, partialmethod, cached_property
from mailbox import Mailbox, _PartialFile
-from ctypes import Array, LibraryLoader
+try:
+ import ctypes
+except ImportError:
+ ctypes = None
from difflib import SequenceMatcher
from filecmp import dircmp
from fileinput import FileInput
@@ -46,43 +49,44 @@ class BaseTest(unittest.TestCase):
"""Test basics."""
def test_subscriptable(self):
- for t in (type, tuple, list, dict, set, frozenset, enumerate,
- defaultdict, deque,
- SequenceMatcher,
- dircmp,
- FileInput,
- OrderedDict, Counter, UserDict, UserList,
- Pattern, Match,
- partial, partialmethod, cached_property,
- AbstractContextManager, AbstractAsyncContextManager,
- Awaitable, Coroutine,
- AsyncIterable, AsyncIterator,
- AsyncGenerator, Generator,
- Iterable, Iterator,
- Reversible,
- Container, Collection,
- Callable,
- Mailbox, _PartialFile,
- ContextVar, Token,
- Field,
- Set, MutableSet,
- Mapping, MutableMapping, MappingView,
- KeysView, ItemsView, ValuesView,
- Sequence, MutableSequence,
- MappingProxyType, AsyncGeneratorType,
- DirEntry,
- chain,
- TemporaryDirectory, SpooledTemporaryFile,
- Queue, SimpleQueue,
- _AssertRaisesContext,
- Array, LibraryLoader,
- SplitResult, ParseResult,
- ValueProxy, ApplyResult,
- WeakSet, ReferenceType, ref,
- ShareableList, SimpleQueue,
- Future, _WorkItem,
- Morsel,
- ):
+ types = [type, tuple, list, dict, set, frozenset, enumerate,
+ defaultdict, deque,
+ SequenceMatcher,
+ dircmp,
+ FileInput,
+ OrderedDict, Counter, UserDict, UserList,
+ Pattern, Match,
+ partial, partialmethod, cached_property,
+ AbstractContextManager, AbstractAsyncContextManager,
+ Awaitable, Coroutine,
+ AsyncIterable, AsyncIterator,
+ AsyncGenerator, Generator,
+ Iterable, Iterator,
+ Reversible,
+ Container, Collection,
+ Callable,
+ Mailbox, _PartialFile,
+ ContextVar, Token,
+ Field,
+ Set, MutableSet,
+ Mapping, MutableMapping, MappingView,
+ KeysView, ItemsView, ValuesView,
+ Sequence, MutableSequence,
+ MappingProxyType, AsyncGeneratorType,
+ DirEntry,
+ chain,
+ TemporaryDirectory, SpooledTemporaryFile,
+ Queue, SimpleQueue,
+ _AssertRaisesContext,
+ SplitResult, ParseResult,
+ ValueProxy, ApplyResult,
+ WeakSet, ReferenceType, ref,
+ ShareableList, SimpleQueue,
+ Future, _WorkItem,
+ Morsel]
+ if ctypes is not None:
+ types.extend((ctypes.Array, ctypes.LibraryLoader))
+ for t in types:
if t is None:
continue
tname = t.__name__