Run CPython test suite in our CI (#353) · python/typing_extensions@d409ec9 (original) (raw)

4 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -74,6 +74,14 @@ jobs:
74 74 cd src
75 75 python -m unittest test_typing_extensions.py
76 76
77 + - name: Test CPython typing test suite
78 +run: |
79 + # Run the typing test suite from CPython with typing_extensions installed,
80 + # because we monkeypatch typing under some circumstances.
81 + python -c 'import typing_extensions; import test.__main__' test_typing -v
82 + # Test suite fails on PyPy even without typing_extensions
83 +if: !startsWith(matrix.python-version, 'pypy')
84 +
77 85 linting:
78 86 name: Lint
79 87
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
1 -# Release 4.11.0 (WIP)
1 +# Unreleased
2 2
3 +- Fix minor discrepancy between error messages produced by `typing`
4 + and `typing_extensions` on Python 3.10. Patch by Jelle Zijlstra.
3 5 - When `include_extra=False`, `get_type_hints()` now strips `ReadOnly` from the annotation.
4 6
5 7 # Release 4.10.0 (February 24, 2024)
Original file line number Diff line number Diff line change
@@ -3262,7 +3262,7 @@ def __call__(self, *args: Unpack[Ts]) -> T: ...
3262 3262 self.assertEqual(MemoizedFunc.__parameters__, (Ts, T, T2))
3263 3263 self.assertTrue(MemoizedFunc._is_protocol)
3264 3264
3265 -things = "arguments" if sys.version_info >= (3, 11) else "parameters"
3265 +things = "arguments" if sys.version_info >= (3, 10) else "parameters"
3266 3266
3267 3267 # A bug was fixed in 3.11.1
3268 3268 # (https://github.com/python/cpython/commit/74920aa27d0c57443dd7f704d6272cca9c507ab3)
@@ -5711,7 +5711,7 @@ class Y(Generic[T], NamedTuple):
5711 5711 self.assertIsInstance(a, G)
5712 5712 self.assertEqual(a.x, 3)
5713 5713
5714 -things = "arguments" if sys.version_info >= (3, 11) else "parameters"
5714 +things = "arguments" if sys.version_info >= (3, 10) else "parameters"
5715 5715
5716 5716 with self.assertRaisesRegex(TypeError, f'Too many {things}'):
5717 5717 G[int, str]
Original file line number Diff line number Diff line change
@@ -164,7 +164,8 @@ def _check_generic(cls, parameters, elen=_marker):
164 164 num_tv_tuples = sum(isinstance(p, TypeVarTuple) for p in parameters)
165 165 if (num_tv_tuples > 0) and (alen >= elen - num_tv_tuples):
166 166 return
167 -raise TypeError(f"Too {'many' if alen > elen else 'few'} parameters for {cls};"
167 +things = "arguments" if sys.version_info >= (3, 10) else "parameters"
168 +raise TypeError(f"Too {'many' if alen > elen else 'few'} {things} for {cls};"
168 169 f" actual {alen}, expected {elen}")
169 170
170 171