diff options
author | Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> | 2021-10-18 14:04:25 +0200 |
---|---|---|
committer | Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> | 2021-10-18 16:03:44 +0200 |
commit | 816c8f8c7badc9355628c3eb0e455650dc1f99ef (patch) | |
tree | 0861e16e90664f1ec60afe1acced0abb35e37554 | |
parent | 536e9faa563ec6e42b6aa684def84aa4f9831b31 (diff) | |
download | pylint-git-816c8f8c7badc9355628c3eb0e455650dc1f99ef.tar.gz |
Add test for #4021
This closes #4021
-rw-r--r-- | tests/functional/u/undefined/undefined_variable_py30.py | 12 | ||||
-rw-r--r-- | tests/functional/u/undefined/undefined_variable_py30.txt | 17 |
2 files changed, 21 insertions, 8 deletions
diff --git a/tests/functional/u/undefined/undefined_variable_py30.py b/tests/functional/u/undefined/undefined_variable_py30.py index 78d6dd3ea..556b1028b 100644 --- a/tests/functional/u/undefined/undefined_variable_py30.py +++ b/tests/functional/u/undefined/undefined_variable_py30.py @@ -84,3 +84,15 @@ class FifthGood(metaclass=abc.Metaclass): # The following used to raise used-before-assignment # pylint: disable=missing-docstring, multiple-statements def used_before_assignment(*, arg): return arg + 1 + + +# Test for #4021 +# https://github.com/PyCQA/pylint/issues/4021 +class MetaClass(type): + def __new__(cls, *args, parameter=None, **kwargs): + print(parameter) + return super().__new__(cls, *args, **kwargs) + + +class InheritingClass(metaclass=MetaClass, parameter=variable): # [undefined-variable] + pass diff --git a/tests/functional/u/undefined/undefined_variable_py30.txt b/tests/functional/u/undefined/undefined_variable_py30.txt index e40ecd1bc..4756b5cd2 100644 --- a/tests/functional/u/undefined/undefined_variable_py30.txt +++ b/tests/functional/u/undefined/undefined_variable_py30.txt @@ -1,8 +1,9 @@ -undefined-variable:8:20:Undefined.test:Undefined variable 'Undefined' -undefined-variable:33:34:Undefined1.InnerScope.test_undefined:Undefined variable 'Undef' -undefined-variable:36:25:Undefined1.InnerScope.test1:Undefined variable 'ABC' -undefined-variable:51:28:FalsePositive342.test_bad:Undefined variable 'trop' -undefined-variable:54:31:FalsePositive342.test_bad1:Undefined variable 'trop1' -undefined-variable:57:31:FalsePositive342.test_bad2:Undefined variable 'trop2' -undefined-variable:63:0:Bad:Undefined variable 'ABCMet' -undefined-variable:66:0:SecondBad:Undefined variable 'ab' +undefined-variable:8:20:Undefined.test:Undefined variable 'Undefined':HIGH +undefined-variable:33:34:Undefined1.InnerScope.test_undefined:Undefined variable 'Undef':HIGH +undefined-variable:36:25:Undefined1.InnerScope.test1:Undefined variable 'ABC':HIGH +undefined-variable:51:28:FalsePositive342.test_bad:Undefined variable 'trop':HIGH +undefined-variable:54:31:FalsePositive342.test_bad1:Undefined variable 'trop1':HIGH +undefined-variable:57:31:FalsePositive342.test_bad2:Undefined variable 'trop2':HIGH +undefined-variable:63:0:Bad:Undefined variable 'ABCMet':HIGH +undefined-variable:66:0:SecondBad:Undefined variable 'ab':HIGH +undefined-variable:97:53:InheritingClass:Undefined variable 'variable':HIGH |