[flake8-builtins] Default to non-strict checking (A005) (#16125)

## Summary

This PR changes the default value of
`lint.flake8-builtins.builtins-strict-checking` added in
https://github.com/astral-sh/ruff/pull/15951 from `true` to `false`.
This also allows simplifying the default option logic and removes the
dependence on preview mode.

https://github.com/astral-sh/ruff/issues/15399 was already closed by
#15951, but this change will finalize the behavior mentioned in
https://github.com/astral-sh/ruff/issues/15399#issuecomment-2587017147.

As an example, strict checking flags modules based on their last
component, so `utils/logging.py` triggers A005. Non-strict checking
checks the path to the module, so `utils/logging.py` is allowed (this is
the example and desired behavior from #15399 exactly) but a top-level
`logging.py` or `logging/__init__.py` is still disallowed.

## Test Plan

Existing tests from #15951 and #16006, with the snapshot updated in
`a005_module_shadowing_strict_default` to reflect the new default.
This commit is contained in:
Brent Westbrook 2025-03-11 14:10:01 -04:00 committed by Micha Reiser
parent 958e1177ce
commit a04347b7a3
8 changed files with 23 additions and 46 deletions

View file

@ -210,7 +210,7 @@ mod tests {
use ruff_linter::codes;
use ruff_linter::line_width::LineLength;
use ruff_linter::settings::types::{PatternPrefixPair, PreviewMode};
use ruff_linter::settings::types::PatternPrefixPair;
use crate::options::{Flake8BuiltinsOptions, LintCommonOptions, LintOptions, Options};
use crate::pyproject::{find_settings_toml, parse_pyproject_toml, Pyproject, Tools};
@ -363,7 +363,7 @@ strict-checking = false
})
);
let settings = expected.into_settings(PreviewMode::Enabled);
let settings = expected.into_settings();
assert_eq!(settings.allowed_modules, vec!["sys".to_string()]);
assert_eq!(