Skip to content

Commit 94bc382

Browse files
Conformance tests: Fix automated scoring in classes_override.py (#1691)
1 parent 3ae2925 commit 94bc382

File tree

5 files changed

+22
-32
lines changed

5 files changed

+22
-32
lines changed

conformance/results/mypy/classes_override.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,10 @@ classes_override.py:53: error: Method "method3" is marked as an override, but no
77
classes_override.py:56: error: Method "method4" is marked as an override, but no base method was found with this name [misc]
88
classes_override.py:79: error: Method "static_method1" is marked as an override, but no base method was found with this name [misc]
99
classes_override.py:84: error: Method "class_method1" is marked as an override, but no base method was found with this name [misc]
10-
classes_override.py:91: error: Method "property1" is marked as an override, but no base method was found with this name [misc]
11-
classes_override.py:103: error: Method "method1" is marked as an override, but no base method was found with this name [misc]
10+
classes_override.py:89: error: Method "property1" is marked as an override, but no base method was found with this name [misc]
11+
classes_override.py:101: error: Method "method1" is marked as an override, but no base method was found with this name [misc]
1212
"""
1313
conformance_automated = "Fail"
1414
errors_diff = """
15-
Line 86: Expected 1 errors
16-
Line 56: Unexpected errors ['classes_override.py:56: error: Method "method4" is marked as an override, but no base method was found with this name [misc]']
17-
Line 84: Unexpected errors ['classes_override.py:84: error: Method "class_method1" is marked as an override, but no base method was found with this name [misc]']
18-
Line 103: Unexpected errors ['classes_override.py:103: error: Method "method1" is marked as an override, but no base method was found with this name [misc]']
15+
Line 101: Unexpected errors ['classes_override.py:101: error: Method "method1" is marked as an override, but no base method was found with this name [misc]']
1916
"""

conformance/results/pyre/classes_override.toml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,22 @@ classes_override.py:78:5 Undefined attribute [16]: Module `typing` has no attrib
1414
classes_override.py:79:4 Invalid override [40]: `classes_override.ChildA.static_method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.
1515
classes_override.py:83:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
1616
classes_override.py:84:4 Invalid override [40]: `classes_override.ChildA.class_method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.
17-
classes_override.py:90:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
18-
classes_override.py:91:4 Invalid override [40]: `classes_override.ChildA.property1` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.
19-
classes_override.py:97:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.
20-
classes_override.py:102:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
21-
classes_override.py:103:4 Invalid override [40]: `classes_override.ChildB.method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildB`.
17+
classes_override.py:88:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
18+
classes_override.py:89:4 Invalid override [40]: `classes_override.ChildA.property1` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.
19+
classes_override.py:95:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.
20+
classes_override.py:100:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
21+
classes_override.py:101:4 Invalid override [40]: `classes_override.ChildB.method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildB`.
2222
"""
2323
conformance_automated = "Fail"
2424
errors_diff = """
25-
Line 86: Expected 1 errors
2625
Line 7: Unexpected errors ['classes_override.py:7:0 Undefined import [21]: Could not find a name `override` defined in module `typing`.']
2726
Line 37: Unexpected errors ['classes_override.py:37:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
2827
Line 52: Unexpected errors ['classes_override.py:52:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
2928
Line 64: Unexpected errors ['classes_override.py:64:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
30-
Line 65: Unexpected errors ['classes_override.py:65:4 Incompatible overload [43]: This definition does not have the same decorators as the preceding overload(s).', 'classes_override.py:65:4 Invalid override [40]: `classes_override.ChildA.method4` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.']
3129
Line 78: Unexpected errors ['classes_override.py:78:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
3230
Line 83: Unexpected errors ['classes_override.py:83:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
33-
Line 84: Unexpected errors ['classes_override.py:84:4 Invalid override [40]: `classes_override.ChildA.class_method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildA`.']
34-
Line 90: Unexpected errors ['classes_override.py:90:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
35-
Line 97: Unexpected errors ['classes_override.py:97:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.']
36-
Line 102: Unexpected errors ['classes_override.py:102:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
37-
Line 103: Unexpected errors ['classes_override.py:103:4 Invalid override [40]: `classes_override.ChildB.method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildB`.']
31+
Line 88: Unexpected errors ['classes_override.py:88:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
32+
Line 95: Unexpected errors ['classes_override.py:95:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.']
33+
Line 100: Unexpected errors ['classes_override.py:100:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
34+
Line 101: Unexpected errors ['classes_override.py:101:4 Invalid override [40]: `classes_override.ChildB.method1` is decorated with @override, but no method of the same name exists in superclasses of `ChildB`.']
3835
"""

conformance/results/pyright/classes_override.toml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ classes_override.py:53:9 - error: Method "method3" is marked as override, but no
44
classes_override.py:65:9 - error: Method "method4" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
55
classes_override.py:79:9 - error: Method "static_method1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
66
classes_override.py:84:9 - error: Method "class_method1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
7-
classes_override.py:91:9 - error: Method "property1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
7+
classes_override.py:89:9 - error: Method "property1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
88
"""
9-
conformance_automated = "Fail"
9+
conformance_automated = "Pass"
1010
errors_diff = """
11-
Line 86: Expected 1 errors
12-
Line 65: Unexpected errors ['classes_override.py:65:9 - error: Method "method4" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)']
13-
Line 84: Unexpected errors ['classes_override.py:84:9 - error: Method "class_method1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)']
1411
"""

conformance/results/pytype/classes_override.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@ File "classes_override.py", line 50, in method2: bad return type [bad-return-typ
99
File "classes_override.py", line 53, in ChildA: Attribute 'method3' not found on any parent class [override-error]
1010
File "classes_override.py", line 57, in ChildA: Attribute 'method4' not found on any parent class [override-error]
1111
File "classes_override.py", line 66, in method4: bad return type [bad-return-type]
12-
File "classes_override.py", line 103, in ChildB: Attribute 'method1' not found on any parent class [override-error]
12+
File "classes_override.py", line 101, in ChildB: Attribute 'method1' not found on any parent class [override-error]
1313
"""
1414
conformance_automated = "Fail"
1515
errors_diff = """
1616
Line 79: Expected 1 errors
17-
Line 86: Expected 1 errors
18-
Line 91: Expected 1 errors
17+
Line 84: Expected 1 errors
18+
Line 89: Expected 1 errors
19+
Lines 56, 65: Expected error (tag 'method4')
1920
Line 7: Unexpected errors ['File "classes_override.py", line 7, in <module>: typing.override not supported yet [not-supported-yet]']
2021
Line 30: Unexpected errors ['File "classes_override.py", line 30, in method2: bad return type [bad-return-type]']
2122
Line 50: Unexpected errors ['File "classes_override.py", line 50, in method2: bad return type [bad-return-type]']
2223
Line 57: Unexpected errors ['File "classes_override.py", line 57, in ChildA: Attribute \\'method4\\' not found on any parent class [override-error]']
2324
Line 66: Unexpected errors ['File "classes_override.py", line 66, in method4: bad return type [bad-return-type]']
24-
Line 103: Unexpected errors ['File "classes_override.py", line 103, in ChildB: Attribute \\'method1\\' not found on any parent class [override-error]']
25+
Line 101: Unexpected errors ['File "classes_override.py", line 101, in ChildB: Attribute \\'method1\\' not found on any parent class [override-error]']
2526
"""

conformance/tests/classes_override.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def method2(self, x: int | str) -> int | str: # OK
5353
def method3(self) -> int: # E: no matching signature in ancestor
5454
return 1
5555

56-
@overload
56+
@overload # E[method4]
5757
def method4(self, x: int) -> int:
5858
...
5959

@@ -62,7 +62,7 @@ def method4(self, x: str) -> str:
6262
...
6363

6464
@override
65-
def method4(self, x: int | str) -> int | str:
65+
def method4(self, x: int | str) -> int | str: # E[method4]: no matching signature in ancestor
6666
return 0
6767

6868
@override
@@ -81,9 +81,7 @@ def static_method1() -> int: # E: no matching signature in ancestor
8181

8282
@classmethod
8383
@override
84-
def class_method1(
85-
cls,
86-
) -> int: # E: no matching signature in ancestor
84+
def class_method1(cls) -> int: # E: no matching signature in ancestor
8785
return 1
8886

8987
@property

0 commit comments

Comments
 (0)