Skip to content

Commit

Permalink
Conformance tests: Fix automated scoring in classes_override.py
Browse files Browse the repository at this point in the history
  • Loading branch information
JelleZijlstra committed Apr 6, 2024
1 parent 33fa565 commit 70e98bb
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 32 deletions.
9 changes: 3 additions & 6 deletions conformance/results/mypy/classes_override.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,10 @@ classes_override.py:53: error: Method "method3" is marked as an override, but no
classes_override.py:56: error: Method "method4" is marked as an override, but no base method was found with this name [misc]
classes_override.py:79: error: Method "static_method1" is marked as an override, but no base method was found with this name [misc]
classes_override.py:84: error: Method "class_method1" is marked as an override, but no base method was found with this name [misc]
classes_override.py:91: error: Method "property1" is marked as an override, but no base method was found with this name [misc]
classes_override.py:103: error: Method "method1" is marked as an override, but no base method was found with this name [misc]
classes_override.py:89: error: Method "property1" is marked as an override, but no base method was found with this name [misc]
classes_override.py:101: error: Method "method1" is marked as an override, but no base method was found with this name [misc]
"""
conformance_automated = "Fail"
errors_diff = """
Line 86: Expected 1 errors
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]']
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]']
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]']
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]']
"""
21 changes: 9 additions & 12 deletions conformance/results/pyre/classes_override.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,22 @@ classes_override.py:78:5 Undefined attribute [16]: Module `typing` has no attrib
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`.
classes_override.py:83:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
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`.
classes_override.py:90:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
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`.
classes_override.py:97:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.
classes_override.py:102:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
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`.
classes_override.py:88:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
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`.
classes_override.py:95:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.
classes_override.py:100:5 Undefined attribute [16]: Module `typing` has no attribute `override`.
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`.
"""
conformance_automated = "Fail"
errors_diff = """
Line 86: Expected 1 errors
Line 7: Unexpected errors ['classes_override.py:7:0 Undefined import [21]: Could not find a name `override` defined in module `typing`.']
Line 37: Unexpected errors ['classes_override.py:37:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
Line 52: Unexpected errors ['classes_override.py:52:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
Line 64: Unexpected errors ['classes_override.py:64:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
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`.']
Line 78: Unexpected errors ['classes_override.py:78:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
Line 83: Unexpected errors ['classes_override.py:83:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
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`.']
Line 90: Unexpected errors ['classes_override.py:90:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
Line 97: Unexpected errors ['classes_override.py:97:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.']
Line 102: Unexpected errors ['classes_override.py:102:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
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`.']
Line 88: Unexpected errors ['classes_override.py:88:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
Line 95: Unexpected errors ['classes_override.py:95:14 Invalid inheritance [39]: `typing.Any` is not a valid parent class.']
Line 100: Unexpected errors ['classes_override.py:100:5 Undefined attribute [16]: Module `typing` has no attribute `override`.']
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`.']
"""
7 changes: 2 additions & 5 deletions conformance/results/pyright/classes_override.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@ classes_override.py:53:9 - error: Method "method3" is marked as override, but no
classes_override.py:65:9 - error: Method "method4" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
classes_override.py:79:9 - error: Method "static_method1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
classes_override.py:84:9 - error: Method "class_method1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
classes_override.py:91:9 - error: Method "property1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
classes_override.py:89:9 - error: Method "property1" is marked as override, but no base method of same name is present (reportGeneralTypeIssues)
"""
conformance_automated = "Fail"
conformance_automated = "Pass"
errors_diff = """
Line 86: Expected 1 errors
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)']
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)']
"""
9 changes: 5 additions & 4 deletions conformance/results/pytype/classes_override.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,18 @@ File "classes_override.py", line 50, in method2: bad return type [bad-return-typ
File "classes_override.py", line 53, in ChildA: Attribute 'method3' not found on any parent class [override-error]
File "classes_override.py", line 57, in ChildA: Attribute 'method4' not found on any parent class [override-error]
File "classes_override.py", line 66, in method4: bad return type [bad-return-type]
File "classes_override.py", line 103, in ChildB: Attribute 'method1' not found on any parent class [override-error]
File "classes_override.py", line 101, in ChildB: Attribute 'method1' not found on any parent class [override-error]
"""
conformance_automated = "Fail"
errors_diff = """
Line 79: Expected 1 errors
Line 86: Expected 1 errors
Line 91: Expected 1 errors
Line 84: Expected 1 errors
Line 89: Expected 1 errors
Lines 56, 65: Expected error (tag 'method4')
Line 7: Unexpected errors ['File "classes_override.py", line 7, in <module>: typing.override not supported yet [not-supported-yet]']
Line 30: Unexpected errors ['File "classes_override.py", line 30, in method2: bad return type [bad-return-type]']
Line 50: Unexpected errors ['File "classes_override.py", line 50, in method2: bad return type [bad-return-type]']
Line 57: Unexpected errors ['File "classes_override.py", line 57, in ChildA: Attribute \\'method4\\' not found on any parent class [override-error]']
Line 66: Unexpected errors ['File "classes_override.py", line 66, in method4: bad return type [bad-return-type]']
Line 103: Unexpected errors ['File "classes_override.py", line 103, in ChildB: Attribute \\'method1\\' not found on any parent class [override-error]']
Line 101: Unexpected errors ['File "classes_override.py", line 101, in ChildB: Attribute \\'method1\\' not found on any parent class [override-error]']
"""
8 changes: 3 additions & 5 deletions conformance/tests/classes_override.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def method2(self, x: int | str) -> int | str: # OK
def method3(self) -> int: # E: no matching signature in ancestor
return 1

@overload
@overload # E[method4]
def method4(self, x: int) -> int:
...

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

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

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

@classmethod
@override
def class_method1(
cls,
) -> int: # E: no matching signature in ancestor
def class_method1(cls) -> int: # E: no matching signature in ancestor
return 1

@property
Expand Down

0 comments on commit 70e98bb

Please sign in to comment.