summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/functional/u/undefined/undefined_variable_py30.py12
-rw-r--r--tests/functional/u/undefined/undefined_variable_py30.txt17
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