diff options
author | Daniƫl van Noord <13665637+DanielNoord@users.noreply.github.com> | 2021-12-03 13:45:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-03 13:45:08 +0100 |
commit | e14596ef44db6efd55c783fc5bffd61d020edc23 (patch) | |
tree | 52d492485ce0b3327ada1f54ec102bc2e8a7d95f /tests/functional/n/no | |
parent | 4b70feb297b4aada56b838c1e71f40badccf9472 (diff) | |
download | pylint-git-e14596ef44db6efd55c783fc5bffd61d020edc23.tar.gz |
Move ``no-member`` tests from ``TestTypeChecker`` (#5453)
* Do not use collections or dataclasses for check
Diffstat (limited to 'tests/functional/n/no')
-rw-r--r-- | tests/functional/n/no/no_member_imports.py | 59 | ||||
-rw-r--r-- | tests/functional/n/no/no_member_imports.rc | 3 | ||||
-rw-r--r-- | tests/functional/n/no/no_member_imports.txt | 3 |
3 files changed, 65 insertions, 0 deletions
diff --git a/tests/functional/n/no/no_member_imports.py b/tests/functional/n/no/no_member_imports.py new file mode 100644 index 000000000..ead6d9335 --- /dev/null +++ b/tests/functional/n/no/no_member_imports.py @@ -0,0 +1,59 @@ +"""Tests for no-member on imported modules""" +# pylint: disable=import-outside-toplevel, pointless-statement, missing-function-docstring +# pylint: disable=deprecated-module + + +def test_no_member_in_getattr(): + """Make sure that a module attribute access is checked by pylint.""" + import math + + math.THIS_does_not_EXIST # [no-member] + + +def test_no_member_in_getattr_ignored() -> None: + """Make sure that a module attribute access check is omitted with a + module that is configured to be ignored. + """ + import argparse + + argparse.THIS_does_not_EXIST + + +def test_ignored_modules_invalid_pattern() -> None: + import xml + + xml.etree.THIS_does_not_EXIST # [no-member] + + +def test_ignored_modules_root_one_applies_as_well() -> None: + """Check that when a root module is completely ignored, submodules are skipped.""" + import argparse + + argparse.submodule.THIS_does_not_EXIST + + +def test_ignored_modules_patterns() -> None: + import collections + + collections.abc.THIS_does_not_EXIST + + +def test_ignored_classes_no_recursive_pattern() -> None: + import sys + + sys.THIS_does_not_EXIST # [no-member] + + +def test_ignored_classes_qualified_name() -> None: + """Test that ignored-classes supports qualified name for ignoring.""" + + import optparse + + optparse.Values.THIS_does_not_EXIST + + +def test_ignored_classes_only_name() -> None: + """Test that ignored_classes works with the name only.""" + import optparse + + optparse.Option.THIS_does_not_EXIST diff --git a/tests/functional/n/no/no_member_imports.rc b/tests/functional/n/no/no_member_imports.rc new file mode 100644 index 000000000..59db427c2 --- /dev/null +++ b/tests/functional/n/no/no_member_imports.rc @@ -0,0 +1,3 @@ +[TYPECHECK] +ignored-modules=argparse,xml.etree.,collections.abc* +ignored-classes=sys*,optparse.Values,Option diff --git a/tests/functional/n/no/no_member_imports.txt b/tests/functional/n/no/no_member_imports.txt new file mode 100644 index 000000000..477558597 --- /dev/null +++ b/tests/functional/n/no/no_member_imports.txt @@ -0,0 +1,3 @@ +no-member:10:4:10:28:test_no_member_in_getattr:Module 'math' has no 'THIS_does_not_EXIST' member:INFERENCE +no-member:25:4:25:33:test_ignored_modules_invalid_pattern:Module 'xml.etree' has no 'THIS_does_not_EXIST' member:INFERENCE +no-member:44:4:44:27:test_ignored_classes_no_recursive_pattern:Module 'sys' has no 'THIS_does_not_EXIST' member:INFERENCE |