bpo-38291: DeprecationWarning when importing typing.{io,re} (#26719)

This commit is contained in:
Sebastian Rittau 2021-06-19 19:31:18 +02:00 committed by GitHub
parent 291848195f
commit 09eb817115
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 16 deletions

View file

@ -3,6 +3,7 @@ import collections
import pickle
import re
import sys
import warnings
from unittest import TestCase, main, skipUnless, skip
from copy import copy, deepcopy
@ -1976,7 +1977,7 @@ class GenericTests(BaseTestCase):
T = TypeVar('T')
things = [Any, Union[T, int], Callable[..., T], Tuple[Any, Any],
Optional[List[int]], typing.Mapping[int, str],
typing.re.Match[bytes], typing.Iterable['whatever']]
typing.Match[bytes], typing.Iterable['whatever']]
for t in things:
self.assertEqual(weakref.ref(t)(), t)
@ -3996,12 +3997,14 @@ class IOTests(BaseTestCase):
self.assertEqual(a.__parameters__, ())
def test_io_submodule(self):
from typing.io import IO, TextIO, BinaryIO, __all__, __name__
self.assertIs(IO, typing.IO)
self.assertIs(TextIO, typing.TextIO)
self.assertIs(BinaryIO, typing.BinaryIO)
self.assertEqual(set(__all__), set(['IO', 'TextIO', 'BinaryIO']))
self.assertEqual(__name__, 'typing.io')
with warnings.catch_warnings(record=True) as w:
from typing.io import IO, TextIO, BinaryIO, __all__, __name__
self.assertIs(IO, typing.IO)
self.assertIs(TextIO, typing.TextIO)
self.assertIs(BinaryIO, typing.BinaryIO)
self.assertEqual(set(__all__), set(['IO', 'TextIO', 'BinaryIO']))
self.assertEqual(__name__, 'typing.io')
self.assertEqual(len(w), 1)
class RETests(BaseTestCase):
@ -4048,11 +4051,13 @@ class RETests(BaseTestCase):
self.assertEqual(repr(Match[bytes]), 'typing.Match[bytes]')
def test_re_submodule(self):
from typing.re import Match, Pattern, __all__, __name__
self.assertIs(Match, typing.Match)
self.assertIs(Pattern, typing.Pattern)
self.assertEqual(set(__all__), set(['Match', 'Pattern']))
self.assertEqual(__name__, 'typing.re')
with warnings.catch_warnings(record=True) as w:
from typing.re import Match, Pattern, __all__, __name__
self.assertIs(Match, typing.Match)
self.assertIs(Pattern, typing.Pattern)
self.assertEqual(set(__all__), set(['Match', 'Pattern']))
self.assertEqual(__name__, 'typing.re')
self.assertEqual(len(w), 1)
def test_cannot_subclass(self):
with self.assertRaises(TypeError) as ex: