PyCQA / flake8-bugbear

A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.
MIT License
1.06k stars 104 forks source link

#418: Modify B017 to no longer have a false negative when raises() is imported directly from pytest #424

Closed azinneck0485 closed 10 months ago

azinneck0485 commented 10 months ago

Logic for check B017 has been updated to check for cases where with raises() is used when raises is imported using an ast.ImportFrom node (that is, from pytest import raises) rather than an ast.Import node, which the current logic handles.

This has included some updates for check B005 to ensure ast.ImportFrom nodes are added to the "imports" set maintained in the BugBearVisitor class.

Tests have been updated to check that this code pattern is now flagged with B017 and tox tests have passed for Python 3.11 (which is what I have installed).

Fixes #418.