Skip to content

Commit 5fa31e6

Browse files
authored
Remove mypy error codes from the test_cases directory (#8083)
1 parent 640053e commit 5fa31e6

5 files changed

Lines changed: 23 additions & 26 deletions

File tree

test_cases/stdlib/builtins/test_pow.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,12 @@
7676
assert_type((-95) ** 8.42, Any)
7777

7878
# All of the following cases should fail a type-checker.
79-
#
80-
# mypy/pyright will emit errors if any of them do not fail:
81-
# - We use --warn-unused-ignores for mypy when checking this subdirectory;
82-
# - For pyright, we have reportUnnecessaryTypeIgnoreComment=true at the top of this file
83-
pow(1.9, 4, 6) # type: ignore[misc]
84-
pow(4, 7, 4.32) # type: ignore[misc]
85-
pow(6.2, 5.9, 73) # type: ignore[misc]
86-
pow(complex(6), 6.2, 7) # type: ignore[misc]
87-
pow(Fraction(), 5, 8) # type: ignore[call-overload]
88-
Decimal("8.7") ** 3.14 # type: ignore[operator]
79+
pow(1.9, 4, 6) # type: ignore
80+
pow(4, 7, 4.32) # type: ignore
81+
pow(6.2, 5.9, 73) # type: ignore
82+
pow(complex(6), 6.2, 7) # type: ignore
83+
pow(Fraction(), 5, 8) # type: ignore
84+
Decimal("8.7") ** 3.14 # type: ignore
8985

9086
# TODO: This fails at runtime, but currently passes mypy and pyright:
9187
pow(Decimal("8.5"), 3.21)

test_cases/stdlib/builtins/test_sum.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ def __radd__(self, other: Any) -> "Baz":
4040
sum([2.5, 5.8], 5) # mypy: `float`; pyright: `float | int`
4141

4242
# These all fail at runtime
43-
sum("abcde") # type: ignore[arg-type]
44-
sum([["foo"], ["bar"]]) # type: ignore[list-item]
45-
sum([("foo",), ("bar", "baz")]) # type: ignore[list-item]
46-
sum([Foo(), Foo()]) # type: ignore[list-item]
47-
sum([Bar(), Bar()], Bar()) # type: ignore[call-overload]
48-
sum([Bar(), Bar()]) # type: ignore[list-item]
43+
sum("abcde") # type: ignore
44+
sum([["foo"], ["bar"]]) # type: ignore
45+
sum([("foo",), ("bar", "baz")]) # type: ignore
46+
sum([Foo(), Foo()]) # type: ignore
47+
sum([Bar(), Bar()], Bar()) # type: ignore
48+
sum([Bar(), Bar()]) # type: ignore
4949

5050
# TODO: these pass pyright with the current stubs, but mypy erroneously emits an error:
5151
# sum([3, Fraction(7, 22), complex(8, 0), 9.83])

test_cases/stdlib/test_codecs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
assert_type(codecs.decode(b"x", "unicode-escape"), str)
88

99
assert_type(codecs.decode(b"x", "utf-8"), str)
10-
codecs.decode("x", "utf-8") # type: ignore[call-overload]
10+
codecs.decode("x", "utf-8") # type: ignore
1111

1212
assert_type(codecs.decode("ab", "hex"), bytes)
1313
assert_type(codecs.decode(b"ab", "hex"), bytes)

test_cases/stdlib/test_unittest.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
case.assertAlmostEqual(2.4, 2.41, delta=0.02)
1717
case.assertAlmostEqual(2.4, 2.41, None, "foo", 0.02)
1818

19-
case.assertAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore[call-overload]
20-
case.assertAlmostEqual("foo", "bar") # type: ignore[call-overload]
21-
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore[arg-type]
19+
case.assertAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore
20+
case.assertAlmostEqual("foo", "bar") # type: ignore
21+
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore
2222

2323
case.assertNotAlmostEqual(Fraction(49, 50), Fraction(48, 50))
2424
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), delta=timedelta(hours=1))
2525
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), None, "foo", timedelta(hours=1))
2626

27-
case.assertNotAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore[call-overload]
28-
case.assertNotAlmostEqual("foo", "bar") # type: ignore[call-overload]
29-
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore[arg-type]
27+
case.assertNotAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore
28+
case.assertNotAlmostEqual("foo", "bar") # type: ignore
29+
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore

tests/mypy_test.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ def get_mypy_flags(
229229
custom_typeshed: bool = False,
230230
strict: bool = False,
231231
test_suite_run: bool = False,
232+
enforce_error_codes: bool = True,
232233
) -> list[str]:
233234
flags = [
234235
"--python-version",
@@ -240,8 +241,6 @@ def get_mypy_flags(
240241
"--warn-incomplete-stub",
241242
"--show-error-codes",
242243
"--no-error-summary",
243-
"--enable-error-code",
244-
"ignore-without-code",
245244
"--strict-equality",
246245
]
247246
if temp_name is not None:
@@ -260,6 +259,8 @@ def get_mypy_flags(
260259
flags.extend(["--exclude", "tests/pytype_test.py"])
261260
else:
262261
flags.append("--no-site-packages")
262+
if enforce_error_codes:
263+
flags.extend(["--enable-error-code", "ignore-without-code"])
263264
return flags
264265

265266

@@ -406,7 +407,7 @@ def test_the_test_scripts(code: int, major: int, minor: int, args: argparse.Name
406407
def test_the_test_cases(code: int, major: int, minor: int, args: argparse.Namespace) -> TestResults:
407408
test_case_files = list(map(str, Path("test_cases").rglob("*.py")))
408409
num_test_case_files = len(test_case_files)
409-
flags = get_mypy_flags(args, major, minor, None, strict=True, custom_typeshed=True)
410+
flags = get_mypy_flags(args, major, minor, None, strict=True, custom_typeshed=True, enforce_error_codes=False)
410411
print(f"Running mypy on the test_cases directory ({num_test_case_files} files)...")
411412
print("Running mypy " + " ".join(flags))
412413
if args.dry_run:

0 commit comments

Comments
 (0)