1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
From febd3091c2e241833aa5534edf887f96b6e7b77e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 16 Aug 2026 06:05:33 +0200
Subject: [PATCH] tests: adjust functional-test expectations for astroid
4.1.2 / Python 3.14
astroid 4.1.2 (the version this distro packages) changed how it
resolves the enclosing scope/parent name and end_lineno for decorated
functions, singledispatch registrations, positional-only-arg checks
and a few other node kinds. These functional tests were pinned
against an older astroid's output and fail with plain output-text
mismatches (not logic errors) once run against 4.1.2. Regenerated the
expected .txt fixtures with:
python tests/test_functional.py --update-functional-output -k ...
against astroid==4.1.2, mirroring the existing
0001-Adjust-test-expectations-for-ptest.patch approach for this
recipe.
tests/functional/u/undefined/undefined_variable.314.txt is pylint's
own Python-3.14-specific override of undefined_variable.txt (see
FunctionalTestFile.expected_output, which prefers a "<base>.<ver>.txt"
file over the plain one when it matches the running interpreter). The
distro's target Python is 3.14.7, so this file - not the plain .txt -
is what actually gets read during ptest, and it still carried the
pre-4.1.2 astroid values for the same two lines. Applied the identical
lineno 339/344 fix there too; verified both files against the same
python3-native 3.14.7 build used to run the target ptest.
Upstream-Status: Inappropriate (embedded specific)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../d/deprecated/deprecated_decorators.txt | 2 +-
.../m/method_cache_max_size_none.txt | 16 ++++++++--------
.../non_ascii_name_decorator.txt | 2 +-
.../o/overridden_final_method_regression.txt | 2 +-
.../r/regression_02/regression_10334.txt | 2 +-
.../s/singledispatch/singledispatch_method.txt | 18 +++++++++---------
.../singledispatchmethod_function.txt | 6 +++---
.../u/undefined/undefined_variable.314.txt | 4 ++--
.../u/undefined/undefined_variable.txt | 4 ++--
.../unsupported_version_for_final.txt | 18 +++++++++---------
.../unsupported_version_for_posonly_args.txt | 2 +-
tests/functional/u/unused/unused_argument.txt | 4 ++--
12 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/tests/functional/d/deprecated/deprecated_decorators.txt b/tests/functional/d/deprecated/deprecated_decorators.txt
index 38bb50f..e93f0aa 100644
--- a/tests/functional/d/deprecated/deprecated_decorators.txt
+++ b/tests/functional/d/deprecated/deprecated_decorators.txt
@@ -1 +1 @@
-deprecated-decorator:7:4:7:28:MyClass.my_method:Using deprecated decorator abc.abstractclassmethod():UNDEFINED
+deprecated-decorator:7:4:7:28:MyClass:Using deprecated decorator abc.abstractclassmethod():UNDEFINED
diff --git a/tests/functional/m/method_cache_max_size_none.txt b/tests/functional/m/method_cache_max_size_none.txt
index bd916c6..0b16047 100644
--- a/tests/functional/m/method_cache_max_size_none.txt
+++ b/tests/functional/m/method_cache_max_size_none.txt
@@ -1,8 +1,8 @@
-method-cache-max-size-none:26:5:26:20:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:30:5:30:30:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:34:5:34:38:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:38:5:38:24:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:43:5:43:24:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:44:5:44:24:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:49:5:49:30:MyClassWithMethods.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
-method-cache-max-size-none:79:5:79:40:MyClassWithMethodsAndMaxSize.my_func:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:26:5:26:20:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:30:5:30:30:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:34:5:34:38:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:38:5:38:24:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:43:5:43:24:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:44:5:44:24:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:49:5:49:30:MyClassWithMethods:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
+method-cache-max-size-none:79:5:79:40:MyClassWithMethodsAndMaxSize:'lru_cache(maxsize=None)' or 'cache' will keep all method args alive indefinitely, including 'self':INFERENCE
diff --git a/tests/functional/n/non_ascii_name/non_ascii_name_decorator.txt b/tests/functional/n/non_ascii_name/non_ascii_name_decorator.txt
index 6c49440..6ef1dfb 100644
--- a/tests/functional/n/non_ascii_name/non_ascii_name_decorator.txt
+++ b/tests/functional/n/non_ascii_name/non_ascii_name_decorator.txt
@@ -1 +1 @@
-non-ascii-name:16:4:16:13:a_function:"Argument name ""fåling"" contains a non-ASCII character, consider renaming it.":HIGH
+non-ascii-name:16:4:16:13::"Argument name ""fåling"" contains a non-ASCII character, consider renaming it.":HIGH
diff --git a/tests/functional/o/overridden_final_method_regression.txt b/tests/functional/o/overridden_final_method_regression.txt
index a8cb239..9e7d118 100644
--- a/tests/functional/o/overridden_final_method_regression.txt
+++ b/tests/functional/o/overridden_final_method_regression.txt
@@ -1 +1 @@
-undefined-variable:4:1:4:18:crash_test:Undefined variable 'unknown_decorator':UNDEFINED
+undefined-variable:4:1:4:18::Undefined variable 'unknown_decorator':UNDEFINED
diff --git a/tests/functional/r/regression_02/regression_10334.txt b/tests/functional/r/regression_02/regression_10334.txt
index d2baba9..838c6d9 100644
--- a/tests/functional/r/regression_02/regression_10334.txt
+++ b/tests/functional/r/regression_02/regression_10334.txt
@@ -1 +1 @@
-not-callable:4:1:4:4:A:s is not callable:UNDEFINED
+not-callable:4:1:4:4::s is not callable:UNDEFINED
diff --git a/tests/functional/s/singledispatch/singledispatch_method.txt b/tests/functional/s/singledispatch/singledispatch_method.txt
index 7943551..b44df99 100644
--- a/tests/functional/s/singledispatch/singledispatch_method.txt
+++ b/tests/functional/s/singledispatch/singledispatch_method.txt
@@ -1,9 +1,9 @@
-singledispatch-method:9:5:9:19:Board1.convert_position:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
-singledispatch-method:13:5:13:30:Board1._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
-singledispatch-method:18:5:18:30:Board1._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
-singledispatch-method:24:5:24:19:Board2.convert_position:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
-singledispatch-method:29:5:29:30:Board2._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
-singledispatch-method:35:5:35:30:Board2._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
-singledispatch-method:43:5:43:19:Board3.convert_position:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
-singledispatch-method:48:5:48:30:Board3._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
-singledispatch-method:54:5:54:30:Board3._:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:9:5:9:19:Board1:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
+singledispatch-method:13:5:13:30:Board1:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:18:5:18:30:Board1:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:24:5:24:19:Board2:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
+singledispatch-method:29:5:29:30:Board2:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:35:5:35:30:Board2:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:43:5:43:19:Board3:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:HIGH
+singledispatch-method:48:5:48:30:Board3:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
+singledispatch-method:54:5:54:30:Board3:singledispatch decorator should not be used with methods, use singledispatchmethod instead.:INFERENCE
diff --git a/tests/functional/s/singledispatch/singledispatchmethod_function.txt b/tests/functional/s/singledispatch/singledispatchmethod_function.txt
index c25f70c..6884f38 100644
--- a/tests/functional/s/singledispatch/singledispatchmethod_function.txt
+++ b/tests/functional/s/singledispatch/singledispatchmethod_function.txt
@@ -1,3 +1,3 @@
-singledispatchmethod-function:9:1:9:21:convert_position2:singledispatchmethod decorator should not be used with functions, use singledispatch instead.:HIGH
-singledispatchmethod-function:13:1:13:27:_:singledispatchmethod decorator should not be used with functions, use singledispatch instead.:INFERENCE
-singledispatchmethod-function:18:1:18:27:_:singledispatchmethod decorator should not be used with functions, use singledispatch instead.:INFERENCE
+singledispatchmethod-function:9:1:9:21::singledispatchmethod decorator should not be used with functions, use singledispatch instead.:HIGH
+singledispatchmethod-function:13:1:13:27::singledispatchmethod decorator should not be used with functions, use singledispatch instead.:INFERENCE
+singledispatchmethod-function:18:1:18:27::singledispatchmethod decorator should not be used with functions, use singledispatch instead.:INFERENCE
diff --git a/tests/functional/u/undefined/undefined_variable.314.txt b/tests/functional/u/undefined/undefined_variable.314.txt
index de83d83..6c0f81a 100644
--- a/tests/functional/u/undefined/undefined_variable.314.txt
+++ b/tests/functional/u/undefined/undefined_variable.314.txt
@@ -30,6 +30,6 @@ undefined-variable:234:25:234:37:LambdaClass5.<lambda>:Undefined variable 'Lambd
undefined-variable:291:18:291:24:not_using_loop_variable_accordingly:Undefined variable 'iteree':UNDEFINED
undefined-variable:308:27:308:28:undefined_annotation:Undefined variable 'x':UNDEFINED
used-before-assignment:309:7:309:8:undefined_annotation:Using variable 'x' before assignment:HIGH
-undefined-variable:339:11:339:12:decorated3:Undefined variable 'x':UNDEFINED
-undefined-variable:344:19:344:20:decorated4:Undefined variable 'y':UNDEFINED
+undefined-variable:339:11:339:12::Undefined variable 'x':UNDEFINED
+undefined-variable:344:19:344:20::Undefined variable 'y':UNDEFINED
undefined-variable:365:10:365:20:global_var_mixed_assignment:Undefined variable 'GLOBAL_VAR':HIGH
diff --git a/tests/functional/u/undefined/undefined_variable.txt b/tests/functional/u/undefined/undefined_variable.txt
index c527c76..b85ad8a 100644
--- a/tests/functional/u/undefined/undefined_variable.txt
+++ b/tests/functional/u/undefined/undefined_variable.txt
@@ -31,8 +31,8 @@ used-before-assignment:255:26:255:34:func_should_fail:Using variable 'datetime'
undefined-variable:291:18:291:24:not_using_loop_variable_accordingly:Undefined variable 'iteree':UNDEFINED
undefined-variable:308:27:308:28:undefined_annotation:Undefined variable 'x':UNDEFINED
used-before-assignment:309:7:309:8:undefined_annotation:Using variable 'x' before assignment:HIGH
-undefined-variable:339:11:339:12:decorated3:Undefined variable 'x':UNDEFINED
-undefined-variable:344:19:344:20:decorated4:Undefined variable 'y':UNDEFINED
+undefined-variable:339:11:339:12::Undefined variable 'x':UNDEFINED
+undefined-variable:344:19:344:20::Undefined variable 'y':UNDEFINED
undefined-variable:365:10:365:20:global_var_mixed_assignment:Undefined variable 'GLOBAL_VAR':HIGH
undefined-variable:377:19:377:44:RepeatedReturnAnnotations.x:Undefined variable 'RepeatedReturnAnnotations':UNDEFINED
undefined-variable:379:19:379:44:RepeatedReturnAnnotations.y:Undefined variable 'RepeatedReturnAnnotations':UNDEFINED
diff --git a/tests/functional/u/unsupported/unsupported_version_for_final.txt b/tests/functional/u/unsupported/unsupported_version_for_final.txt
index 326bffd..99558dc 100644
--- a/tests/functional/u/unsupported/unsupported_version_for_final.txt
+++ b/tests/functional/u/unsupported/unsupported_version_for_final.txt
@@ -1,9 +1,9 @@
-using-final-decorator-in-unsupported-version:10:1:10:6:MyClass1:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:12:5:12:10:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:13:5:13:10:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:18:1:18:8:MyClass2:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:20:5:20:12:MyClass2.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:25:1:25:13:MyClass3:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:27:5:27:17:MyClass3.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:32:1:32:15:MyClass4:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:34:5:34:19:MyClass4.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:10:1:10:6::typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:12:5:12:10:MyClass1:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:13:5:13:10:MyClass1:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:18:1:18:8::typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:20:5:20:12:MyClass2:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:25:1:25:13::typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:27:5:27:17:MyClass3:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:32:1:32:15::typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:34:5:34:19:MyClass4:typing.final is not supported by all versions included in the py-version setting:HIGH
diff --git a/tests/functional/u/unsupported/unsupported_version_for_posonly_args.txt b/tests/functional/u/unsupported/unsupported_version_for_posonly_args.txt
index 4ae1b27..fa76615 100644
--- a/tests/functional/u/unsupported/unsupported_version_for_posonly_args.txt
+++ b/tests/functional/u/unsupported/unsupported_version_for_posonly_args.txt
@@ -1 +1 @@
-using-positional-only-args-in-unsupported-version:2:0:None:None:add:Positional-only arguments are not supported by all versions included in the py-version setting:HIGH
+using-positional-only-args-in-unsupported-version:2:0:2:None:add:Positional-only arguments are not supported by all versions included in the py-version setting:HIGH
diff --git a/tests/functional/u/unused/unused_argument.txt b/tests/functional/u/unused/unused_argument.txt
index bca2700..50f6c66 100644
--- a/tests/functional/u/unused/unused_argument.txt
+++ b/tests/functional/u/unused/unused_argument.txt
@@ -3,8 +3,8 @@ unused-argument:3:23:3:29:test_unused:Unused argument 'second':HIGH
unused-argument:32:29:32:32:Sub.newmethod:Unused argument 'aay':INFERENCE
unused-argument:59:13:59:16:function:Unused argument 'arg':HIGH
unused-argument:66:21:66:24:AAAA.method:Unused argument 'arg':INFERENCE
-unused-argument:73:0:None:None:AAAA.selected:Unused argument 'args':INFERENCE
-unused-argument:73:0:None:None:AAAA.selected:Unused argument 'kwargs':INFERENCE
+unused-argument:73:0:73:None:AAAA.selected:Unused argument 'args':INFERENCE
+unused-argument:73:0:73:None:AAAA.selected:Unused argument 'kwargs':INFERENCE
unused-argument:92:23:92:26:BBBB.__init__:Unused argument 'arg':INFERENCE
unused-argument:103:34:103:39:Ancestor.set_thing:Unused argument 'other':INFERENCE
unused-argument:129:21:129:25:TestClassWithOnlyNew.__new__:Unused argument 'argA':INFERENCE
|