ruff/crates/ruff_linter/resources/test/fixtures
Igor Drokin e4f64480da
[`perflint`] Ignore rule if target is `global` or `nonlocal` (`PERF401`) (#19539)
## Summary

Resolves #19531

I've implemented a check to determine whether the for_stmt target is
declared as global or nonlocal. I believe we should skip the rule in all
such cases, since variables declared this way are intended for use
outside the loop scope, making value changes expected behavior.

## Test Plan

Added two test cases for global and nonlocal variable to snapshot.
2025-07-28 17:03:22 -04:00
..
airflow [`airflow`] Add unsafe fix for module moved cases (`AIR312`) (#18363) 2025-05-30 09:36:20 -04:00
control-flow-graph [`pylint`] Fix `unreachable` infinite loop (`PLW0101`) (#15278) 2025-01-08 09:45:04 -06:00
eradicate [`eradicate`] Correctly handle metadata blocks directly followed by normal blocks (`ERA001`) (#15330) 2025-01-07 16:22:22 -05:00
fastapi [`fastapi`] Avoid false positive for class dependencies (`FAST003`) (#18271) 2025-06-02 14:34:50 -04:00
filesystem Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_2020 Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_annotations [ruff 0.8] [`flake8-annotations`] Remove deprecated rules ANN101 and ANN102 (#14384) 2024-11-20 13:11:51 +01:00
flake8_async [`flake8-async`] Mark autofix for `ASYNC115` as unsafe if the call expression contains comments (#18753) 2025-06-19 13:01:33 +02:00
flake8_bandit Disallow implicit concatenation of t-strings and other string types (#19485) 2025-07-27 12:41:03 +00:00
flake8_blind_except [`flake8-blind-except`] Change `BLE001` to permit `logging.critical(..., exc_info=True)`. (#19520) 2025-07-25 17:52:58 -04:00
flake8_boolean_trap FBT001: exclude boolean operators (#14203) 2024-11-10 22:40:37 +00:00
flake8_bugbear [`flake8-bugbear`] Fix B017 false negatives for keyword exception arguments (#19217) 2025-07-11 16:43:09 +00:00
flake8_builtins [flake8-builtins] Ignore variables matching module attribute names (A001) (#16454) 2025-03-03 11:10:23 +01:00
flake8_commas [`flake8-commas`] Add support for trailing comma checks in type parameter lists (`COM812`,`COM819`) (#19390) 2025-07-28 10:53:04 -04:00
flake8_comprehensions [`flake8-comprehensions`] Fix `C420` to prepend whitespace when needed (#18616) 2025-06-30 12:38:26 -04:00
flake8_datetimez [`flake8-datetime`] Ignore `.replace()` calls while looking for `.astimezone` (#16050) 2025-02-09 15:48:59 +00:00
flake8_debugger [`flake8-debugger`] Also flag `sys.breakpointhook` and `sys.__breakpointhook__` (`T100`) (#16191) 2025-02-16 14:50:16 -05:00
flake8_django [`flake8_django`] Fix DJ008 false positive for abstract models with type-annotated `abstract` field (#19221) 2025-07-11 16:50:59 +00:00
flake8_errmsg [`flake8-errmsg`] Extend `EM101` to support byte strings (#18867) 2025-06-25 10:53:56 -04:00
flake8_executable [`flake8-executable`] Allow `uvx` in shebang line (`EXE003`) (#18967) 2025-06-30 09:38:18 -04:00
flake8_fixme Fix TODO directive out of bounds acccess (#13756) 2024-10-15 10:49:53 +02:00
flake8_future_annotations Avoid flagging `__future__` annotations as required for non-evaluated type annotations (#11414) 2024-05-21 18:57:13 +00:00
flake8_gettext Add t-string fixtures for rules that do not need to be modified (#19146) 2025-07-14 09:46:31 -05:00
flake8_implicit_str_concat Add Autofix for ISC003 (#18256) 2025-05-28 09:30:51 +02:00
flake8_import_conventions [flake8-import-conventions] Add import `numpy.typing as npt` to default `flake8-import-conventions.aliases` (#17133) 2025-04-02 09:25:46 +02:00
flake8_logging [`flake8-logging`] Avoid false positive for `exc_info=True` outside `logger.exception` (`LOG014`) (#18737) 2025-06-20 14:43:08 -04:00
flake8_logging_format Add t-string fixtures for rules that do not need to be modified (#19146) 2025-07-14 09:46:31 -05:00
flake8_no_pep420 Skip namespace package enforcement for PEP 723 scripts (#13974) 2024-10-29 02:11:31 +00:00
flake8_pie Fix F701 to F707 errors in tests (#19125) 2025-07-04 13:43:18 -05:00
flake8_print Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_pyi [`flake8-pyi`] Skip fix if all `Union` members are `None` (`PYI016`) (#19416) 2025-07-22 17:03:14 +00:00
flake8_pytest_style Add t-string fixtures for rules that do not need to be modified (#19146) 2025-07-14 09:46:31 -05:00
flake8_quotes Implement template strings (#17851) 2025-05-30 15:00:56 -05:00
flake8_raise [`flake8-raise`] Make fix unsafe if it deletes comments (`RSE102`) (#18788) 2025-06-21 19:09:40 +02:00
flake8_return [`flake8-return`] Fix false-positive for variables used inside nested functions in `RET504` (#18433) 2025-07-10 16:10:22 -04:00
flake8_self [`flake8-self`] Ignore attribute accesses on instance-like variables (`SLF001`) (#16149) 2025-02-23 10:00:49 +00:00
flake8_simplify Fix F701 to F707 errors in tests (#19125) 2025-07-04 13:43:18 -05:00
flake8_slots Avoid recommending `__slots__` for classes that inherit from more than `namedtuple` (#12531) 2024-07-26 14:24:40 +00:00
flake8_tidy_imports Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_todos [`flake8-todos`] Allow VSCode GitHub PR extension style links in `missing-todo-link` (`TD003`) (#15519) 2025-01-15 23:47:33 +00:00
flake8_type_checking [`flake8-type-checking`, `pyupgrade`, `ruff`] Add `from __future__ import annotations` when it would allow new fixes (`TC001`, `TC002`, `TC003`, `UP037`, `RUF013`) (#19100) 2025-07-16 08:50:52 -04:00
flake8_unused_arguments Add t-string fixtures for rules that do not need to be modified (#19146) 2025-07-14 09:46:31 -05:00
flake8_use_pathlib [`flake8-use-pathlib`] Add autofix for `PTH101`, `PTH104`, `PTH105`, `PTH121` (#19404) 2025-07-23 12:13:43 -04:00
flynt Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
isort Treat form feed as valid whitespace before a semicolon (#19343) 2025-07-16 16:39:05 -04:00
mccabe Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
numpy Ignore `NPY201` inside `except` blocks for compatibility with older numpy versions (#12490) 2024-07-24 20:03:23 +00:00
pandas_vet Limit inplace diagnostics to methods that accept inplace (#9495) 2024-01-12 14:12:54 -05:00
pep8_naming [`pep8-naming`] Fix `N802` false positives for `CGIHTTPRequestHandler` and `SimpleHTTPRequestHandler` (#19432) 2025-07-23 12:04:11 -04:00
perflint [`perflint`] Ignore rule if target is `global` or `nonlocal` (`PERF401`) (#19539) 2025-07-28 17:03:22 -04:00
pycodestyle [`pycodestyle`] Handle brace escapes for t-strings in logical lines (#19358) 2025-07-15 14:48:48 +00:00
pydoclint Fix typos found by codespell (#14863) 2024-12-09 09:32:12 +00:00
pydocstyle [`pydoclint`] Fix `SyntaxError` from fixes with line continuations (`D201`, `D202`) (#19246) 2025-07-14 13:31:36 -04:00
pyflakes [`pyflakes`] Mark `F504`/`F522`/`F523` autofix as unsafe if there's a call with side effect (#18839) 2025-06-26 08:48:29 +00:00
pygrep_hooks [`pygrep_hooks`] Add `AsyncMock` methods to `invalid-mock-access` (`PGH005`) (#18547) 2025-06-24 17:27:21 -04:00
pylint [`pylint`] Handle empty comments after line continuation (`PLR2044`) (#19405) 2025-07-23 11:56:49 -04:00
pyupgrade Add t-string fixtures for rules that do not need to be modified (#19146) 2025-07-14 09:46:31 -05:00
refurb [`refurb`] Mark `int` and `bool` cases for `Decimal.from_float` as safe fixes in `FURB164` tests (#19468) 2025-07-28 14:21:38 +00:00
ruff [`ruff`] Offer fixes for `RUF039` in more cases (#19065) 2025-07-24 11:45:45 -04:00
syntax_errors [semantic-syntax-tests] Add test fixtures for `AwaitOutsideAsyncFunction` (#17785) 2025-05-05 14:02:06 -04:00
tryceratops Recode `TRY302` to `TRY203` (#13502) 2024-10-17 16:35:12 +01:00
__init__.py [`pylint`] (Re-)Implement `import-private-name` (`C2701`) (#9553) 2024-01-16 14:03:11 -05:00