diff options
author | Marc Mueller <30130371+cdce8p@users.noreply.github.com> | 2021-10-07 20:15:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-07 20:15:25 +0200 |
commit | 2a343e8d5350d8944948db72a75494faf2dd653a (patch) | |
tree | 30afa637644724bd5261dcc75911a9015d4bd5a3 | |
parent | 04fa4276eac6f623cd5ced4711afc9e58a68e230 (diff) | |
download | pylint-git-2a343e8d5350d8944948db72a75494faf2dd653a.tar.gz |
Add test for typing alias in isinstance calls (#5089)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | tests/functional/r/regression/regression_3507_typing_alias_isinstance.py | 26 | ||||
-rw-r--r-- | tests/functional/r/regression/regression_3507_typing_alias_isinstance.rc | 2 |
3 files changed, 33 insertions, 0 deletions
@@ -84,6 +84,11 @@ Release date: TBA Closes #5048 +* Fix false-positive ``isinstance-second-argument-not-valid-type`` with ``typing.Callable``. + + Closes #3507 + Closes #5087 + * ``TypingChecker`` * Fix false-negative for ``deprecated-typing-alias`` and ``consider-using-alias`` diff --git a/tests/functional/r/regression/regression_3507_typing_alias_isinstance.py b/tests/functional/r/regression/regression_3507_typing_alias_isinstance.py new file mode 100644 index 000000000..4dba85545 --- /dev/null +++ b/tests/functional/r/regression/regression_3507_typing_alias_isinstance.py @@ -0,0 +1,26 @@ +""" +https://github.com/PyCQA/pylint/issues/3507 +False-positive 'isinstance-second-argument-not-valid-type' +for typing aliases in 'isinstance' calls. +""" +import collections +import collections.abc +import typing + +isinstance(42, typing.Dict) +isinstance(42, typing.Counter) +isinstance(42, typing.Collection) +isinstance(42, typing.Iterator) +isinstance(42, typing.Tuple) +isinstance(42, typing.Callable) +isinstance(42, typing.Type) + + +# For comparison - also valid calls +isinstance(42, dict) +isinstance(42, collections.Counter) +isinstance(42, collections.abc.Collection) +isinstance(42, collections.abc.Iterator) +isinstance(42, tuple) +isinstance(42, collections.abc.Callable) +isinstance(42, type) diff --git a/tests/functional/r/regression/regression_3507_typing_alias_isinstance.rc b/tests/functional/r/regression/regression_3507_typing_alias_isinstance.rc new file mode 100644 index 000000000..a17bb22da --- /dev/null +++ b/tests/functional/r/regression/regression_3507_typing_alias_isinstance.rc @@ -0,0 +1,2 @@ +[testoptions] +min_pyver=3.7 |