From c659cb86d91ef89029e93023f02c374bda9b6ede Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Sat, 3 Dec 2022 22:46:13 -0500 Subject: [PATCH] Rename RUF101 to RUF004 (#1020) --- README.md | 2 +- ruff_dev/src/generate_check_code_prefix.rs | 16 ++++++----- src/check_ast.rs | 2 +- src/checks.rs | 8 +++--- src/checks_gen.rs | 28 +++++++++++-------- src/rules/mod.rs | 14 +++++----- src/rules/plugins/convert_exit_to_sys_exit.rs | 2 +- 7 files changed, 39 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 933b9241ab..48ef0dad90 100644 --- a/README.md +++ b/README.md @@ -780,7 +780,7 @@ For more, see [Pylint](https://pypi.org/project/pylint/2.15.7/) on PyPI. | RUF001 | AmbiguousUnicodeCharacterString | String contains ambiguous unicode character '𝐁' (did you mean 'B'?) | 🛠 | | RUF002 | AmbiguousUnicodeCharacterDocstring | Docstring contains ambiguous unicode character '𝐁' (did you mean 'B'?) | 🛠 | | RUF003 | AmbiguousUnicodeCharacterComment | Comment contains ambiguous unicode character '𝐁' (did you mean 'B'?) | | -| RUF101 | ConvertExitToSysExit | `exit()` is only available in the interpreter, use `sys.exit()` instead | 🛠 | +| RUF004 | ConvertExitToSysExit | `exit()` is only available in the interpreter, use `sys.exit()` instead | 🛠 | ### Meta rules diff --git a/ruff_dev/src/generate_check_code_prefix.rs b/ruff_dev/src/generate_check_code_prefix.rs index c48a0c975e..eff221881e 100644 --- a/ruff_dev/src/generate_check_code_prefix.rs +++ b/ruff_dev/src/generate_check_code_prefix.rs @@ -57,13 +57,15 @@ pub fn main(cli: &Cli) -> Result<()> { for i in 0..=code_suffix_len { let source = code_str[..code_prefix_len + i].to_string(); let destination = alias[..alias_prefix_len + i].to_string(); - prefix_to_codes.insert( - destination, - prefix_to_codes - .get(&source) - .unwrap_or_else(|| panic!("Unknown CheckCode: {source:?}")) - .clone(), - ); + if source != destination { + prefix_to_codes.insert( + destination, + prefix_to_codes + .get(&source) + .unwrap_or_else(|| panic!("Unknown CheckCode: {source:?}")) + .clone(), + ); + } } } diff --git a/src/check_ast.rs b/src/check_ast.rs index b57d9186fa..b8bbc1a5b7 100644 --- a/src/check_ast.rs +++ b/src/check_ast.rs @@ -1737,7 +1737,7 @@ where } // Ruff - if self.settings.enabled.contains(&CheckCode::RUF101) { + if self.settings.enabled.contains(&CheckCode::RUF004) { rules::plugins::convert_exit_to_sys_exit(self, func); } } diff --git a/src/checks.rs b/src/checks.rs index e6113709a5..604c0b58a4 100644 --- a/src/checks.rs +++ b/src/checks.rs @@ -290,7 +290,7 @@ pub enum CheckCode { RUF001, RUF002, RUF003, - RUF101, + RUF004, // Meta M001, // pygrep-hooks @@ -1112,7 +1112,7 @@ impl CheckCode { CheckCode::RUF001 => CheckKind::AmbiguousUnicodeCharacterString('𝐁', 'B'), CheckCode::RUF002 => CheckKind::AmbiguousUnicodeCharacterDocstring('𝐁', 'B'), CheckCode::RUF003 => CheckKind::AmbiguousUnicodeCharacterComment('𝐁', 'B'), - CheckCode::RUF101 => CheckKind::ConvertExitToSysExit, + CheckCode::RUF004 => CheckKind::ConvertExitToSysExit, // Meta CheckCode::M001 => CheckKind::UnusedNOQA(None), } @@ -1323,7 +1323,7 @@ impl CheckCode { CheckCode::RUF001 => CheckCategory::Ruff, CheckCode::RUF002 => CheckCategory::Ruff, CheckCode::RUF003 => CheckCategory::Ruff, - CheckCode::RUF101 => CheckCategory::Ruff, + CheckCode::RUF004 => CheckCategory::Ruff, CheckCode::S101 => CheckCategory::Flake8Bandit, CheckCode::S102 => CheckCategory::Flake8Bandit, CheckCode::S104 => CheckCategory::Flake8Bandit, @@ -1627,7 +1627,7 @@ impl CheckKind { CheckKind::AmbiguousUnicodeCharacterString(..) => &CheckCode::RUF001, CheckKind::AmbiguousUnicodeCharacterDocstring(..) => &CheckCode::RUF002, CheckKind::AmbiguousUnicodeCharacterComment(..) => &CheckCode::RUF003, - CheckKind::ConvertExitToSysExit => &CheckCode::RUF101, + CheckKind::ConvertExitToSysExit => &CheckCode::RUF004, // Meta CheckKind::UnusedNOQA(_) => &CheckCode::M001, } diff --git a/src/checks_gen.rs b/src/checks_gen.rs index aa62e1b8f7..161fc416ef 100644 --- a/src/checks_gen.rs +++ b/src/checks_gen.rs @@ -329,9 +329,7 @@ pub enum CheckCodePrefix { RUF001, RUF002, RUF003, - RUF1, - RUF10, - RUF101, + RUF004, S, S1, S10, @@ -1291,16 +1289,24 @@ impl CheckCodePrefix { CheckCode::RUF001, CheckCode::RUF002, CheckCode::RUF003, - CheckCode::RUF101, + CheckCode::RUF004, + ], + CheckCodePrefix::RUF0 => vec![ + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, + ], + CheckCodePrefix::RUF00 => vec![ + CheckCode::RUF001, + CheckCode::RUF002, + CheckCode::RUF003, + CheckCode::RUF004, ], - CheckCodePrefix::RUF0 => vec![CheckCode::RUF001, CheckCode::RUF002, CheckCode::RUF003], - CheckCodePrefix::RUF00 => vec![CheckCode::RUF001, CheckCode::RUF002, CheckCode::RUF003], CheckCodePrefix::RUF001 => vec![CheckCode::RUF001], CheckCodePrefix::RUF002 => vec![CheckCode::RUF002], CheckCodePrefix::RUF003 => vec![CheckCode::RUF003], - CheckCodePrefix::RUF1 => vec![CheckCode::RUF101], - CheckCodePrefix::RUF10 => vec![CheckCode::RUF101], - CheckCodePrefix::RUF101 => vec![CheckCode::RUF101], + CheckCodePrefix::RUF004 => vec![CheckCode::RUF004], CheckCodePrefix::S => vec![ CheckCode::S101, CheckCode::S102, @@ -1953,9 +1959,7 @@ impl CheckCodePrefix { CheckCodePrefix::RUF001 => SuffixLength::Three, CheckCodePrefix::RUF002 => SuffixLength::Three, CheckCodePrefix::RUF003 => SuffixLength::Three, - CheckCodePrefix::RUF1 => SuffixLength::One, - CheckCodePrefix::RUF10 => SuffixLength::Two, - CheckCodePrefix::RUF101 => SuffixLength::Three, + CheckCodePrefix::RUF004 => SuffixLength::Three, CheckCodePrefix::S => SuffixLength::Zero, CheckCodePrefix::S1 => SuffixLength::One, CheckCodePrefix::S10 => SuffixLength::Two, diff --git a/src/rules/mod.rs b/src/rules/mod.rs index 336f64d5e4..2dd384d7fa 100644 --- a/src/rules/mod.rs +++ b/src/rules/mod.rs @@ -18,13 +18,13 @@ mod tests { #[test_case(CheckCode::RUF001, Path::new("RUF001.py"); "RUF001")] #[test_case(CheckCode::RUF002, Path::new("RUF002.py"); "RUF002")] #[test_case(CheckCode::RUF003, Path::new("RUF003.py"); "RUF003")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_0.py"); "RUF101_0")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_1.py"); "RUF101_1")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_2.py"); "RUF101_2")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_3.py"); "RUF101_3")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_4.py"); "RUF101_4")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_5.py"); "RUF101_5")] - #[test_case(CheckCode::RUF101, Path::new("RUF101_6.py"); "RUF101_6")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_0.py"); "RUF004_0")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_1.py"); "RUF004_1")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_2.py"); "RUF004_2")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_3.py"); "RUF004_3")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_4.py"); "RUF004_4")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_5.py"); "RUF004_5")] + #[test_case(CheckCode::RUF004, Path::new("RUF004_6.py"); "RUF004_6")] fn checks(check_code: CheckCode, path: &Path) -> Result<()> { let snapshot = format!("{}_{}", check_code.as_ref(), path.to_string_lossy()); let mut checks = test_path( diff --git a/src/rules/plugins/convert_exit_to_sys_exit.rs b/src/rules/plugins/convert_exit_to_sys_exit.rs index d660e424c4..ee936e5e3d 100644 --- a/src/rules/plugins/convert_exit_to_sys_exit.rs +++ b/src/rules/plugins/convert_exit_to_sys_exit.rs @@ -64,7 +64,7 @@ fn get_member_import_name_alias(checker: &Checker, module: &str, member: &str) - }) } -/// RUF101 +/// RUF004 pub fn convert_exit_to_sys_exit(checker: &mut Checker, func: &Expr) { if let ExprKind::Name { id, .. } = &func.node { if id == "exit" {