[flake8-bugbear] Fix all the useless expressions that are justified

This commit is contained in:
Pierre Sassoulas 2024-02-02 21:13:43 +01:00
parent fcb818b73c
commit 52fba25ff9
8 changed files with 15 additions and 16 deletions

View File

@ -148,7 +148,6 @@ ignore = [
"B011", # Do not `assert False` (`python -O` removes these calls) "B011", # Do not `assert False` (`python -O` removes these calls)
"B015", # Pointless comparison. Did you mean to assign a value? "B015", # Pointless comparison. Did you mean to assign a value?
"B017", # `pytest.raises(Exception)` should be considered evil "B017", # `pytest.raises(Exception)` should be considered evil
"B018", # Found useless expression.
"B023", # Function definition does not bind loop variable `warning` "B023", # Function definition does not bind loop variable `warning`
"B028", # No explicit `stacklevel` keyword argument found "B028", # No explicit `stacklevel` keyword argument found
# pycodestyle ignore # pycodestyle ignore

View File

@ -208,7 +208,7 @@ def main() -> None:
f.write(f"This list contains {len(plugins)} plugins.\n\n") f.write(f"This list contains {len(plugins)} plugins.\n\n")
f.write(".. only:: not latex\n\n") f.write(".. only:: not latex\n\n")
wcwidth # reference library that must exist for tabulate to work _ = wcwidth # reference library that must exist for tabulate to work
plugin_table = tabulate.tabulate(plugins, headers="keys", tablefmt="rst") plugin_table = tabulate.tabulate(plugins, headers="keys", tablefmt="rst")
f.write(indent(plugin_table, " ")) f.write(indent(plugin_table, " "))
f.write("\n\n") f.write("\n\n")

View File

@ -209,8 +209,8 @@ class TestCaseFunction(Function):
) )
# Invoke the attributes to trigger storing the traceback # Invoke the attributes to trigger storing the traceback
# trial causes some issue there. # trial causes some issue there.
excinfo.value _ = excinfo.value
excinfo.traceback _ = excinfo.traceback
except TypeError: except TypeError:
try: try:
try: try:

View File

@ -1241,9 +1241,9 @@ class TestWINLocalPath:
def test_owner_group_not_implemented(self, path1): def test_owner_group_not_implemented(self, path1):
with pytest.raises(NotImplementedError): with pytest.raises(NotImplementedError):
path1.stat().owner _ = path1.stat().owner
with pytest.raises(NotImplementedError): with pytest.raises(NotImplementedError):
path1.stat().group _ = path1.stat().group
def test_chmod_simple_int(self, path1): def test_chmod_simple_int(self, path1):
mode = path1.stat().mode mode = path1.stat().mode

View File

@ -387,7 +387,7 @@ def test_excinfo_no_python_sourcecode(tmp_path: Path) -> None:
excinfo = pytest.raises(ValueError, template.render, h=h) excinfo = pytest.raises(ValueError, template.render, h=h)
for item in excinfo.traceback: for item in excinfo.traceback:
print(item) # XXX: for some reason jinja.Template.render is printed in full print(item) # XXX: for some reason jinja.Template.render is printed in full
item.source # shouldn't fail _ = item.source # shouldn't fail
if isinstance(item.path, Path) and item.path.name == "test.txt": if isinstance(item.path, Path) and item.path.name == "test.txt":
assert str(item.source) == "{{ h()}}:" assert str(item.source) == "{{ h()}}:"
@ -418,7 +418,7 @@ def test_codepath_Queue_example() -> None:
def test_match_succeeds(): def test_match_succeeds():
with pytest.raises(ZeroDivisionError) as excinfo: with pytest.raises(ZeroDivisionError) as excinfo:
0 // 0 _ = 0 // 0
excinfo.match(r".*zero.*") excinfo.match(r".*zero.*")
@ -584,7 +584,7 @@ class TestFormattedExcinfo:
try: try:
def f(): def f():
1 / 0 _ = 1 / 0
f() f()
@ -601,7 +601,7 @@ class TestFormattedExcinfo:
print(line) print(line)
assert lines == [ assert lines == [
" def f():", " def f():",
"> 1 / 0", "> _ = 1 / 0",
"E ZeroDivisionError: division by zero", "E ZeroDivisionError: division by zero",
] ]
@ -638,7 +638,7 @@ raise ValueError()
pr = FormattedExcinfo() pr = FormattedExcinfo()
try: try:
1 / 0 _ = 1 / 0
except ZeroDivisionError: except ZeroDivisionError:
excinfo = ExceptionInfo.from_current() excinfo = ExceptionInfo.from_current()
@ -1582,7 +1582,7 @@ def test_no_recursion_index_on_recursion_error():
return getattr(self, "_" + attr) return getattr(self, "_" + attr)
with pytest.raises(RuntimeError) as excinfo: with pytest.raises(RuntimeError) as excinfo:
RecursionDepthError().trigger _ = RecursionDepthError().trigger
assert "maximum recursion" in str(excinfo.getrepr()) assert "maximum recursion" in str(excinfo.getrepr())

View File

@ -170,9 +170,9 @@ class ErrorsHelper:
def test_helper_failures() -> None: def test_helper_failures() -> None:
helper = ErrorsHelper() helper = ErrorsHelper()
with pytest.raises(Exception): with pytest.raises(Exception):
helper.raise_exception _ = helper.raise_exception
with pytest.raises(OutcomeException): with pytest.raises(OutcomeException):
helper.raise_fail_outcome _ = helper.raise_fail_outcome
def test_safe_getattr() -> None: def test_safe_getattr() -> None:

View File

@ -108,7 +108,7 @@ class TestFixtureRequestSessionScoped:
AttributeError, AttributeError,
match="path not available in session-scoped context", match="path not available in session-scoped context",
): ):
session_request.fspath _ = session_request.fspath
@pytest.mark.parametrize("config_type", ["ini", "pyproject"]) @pytest.mark.parametrize("config_type", ["ini", "pyproject"])

View File

@ -42,7 +42,7 @@ class TestMark:
def test_pytest_mark_name_starts_with_underscore(self) -> None: def test_pytest_mark_name_starts_with_underscore(self) -> None:
mark = MarkGenerator(_ispytest=True) mark = MarkGenerator(_ispytest=True)
with pytest.raises(AttributeError): with pytest.raises(AttributeError):
mark._some_name _ = mark._some_name
def test_marked_class_run_twice(pytester: Pytester) -> None: def test_marked_class_run_twice(pytester: Pytester) -> None: