WIP: Add rules only enabled during testing
Failing with... the trait `std::convert::From<codes::Rule>` is not implemented for `DiagnosticKind`
This commit is contained in:
@@ -865,6 +865,12 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> {
|
||||
(Ruff, "017") => (RuleGroup::Nursery, rules::ruff::rules::QuadraticListSummation),
|
||||
(Ruff, "100") => (RuleGroup::Unspecified, rules::ruff::rules::UnusedNOQA),
|
||||
(Ruff, "200") => (RuleGroup::Unspecified, rules::ruff::rules::InvalidPyprojectToml),
|
||||
#[cfg(test)]
|
||||
(Ruff, "900") => (RuleGroup::Unspecified, rules::ruff::rules::StableTestRule),
|
||||
#[cfg(test)]
|
||||
(Ruff, "901") => (RuleGroup::Nursery, rules::ruff::rules::NurseryTestRule),
|
||||
#[cfg(test)]
|
||||
(Ruff, "902") => (RuleGroup::Preview, rules::ruff::rules::PreviewTestRule),
|
||||
|
||||
// flake8-django
|
||||
(Flake8Django, "001") => (RuleGroup::Unspecified, rules::flake8_django::rules::DjangoNullableModelStringField),
|
||||
|
||||
@@ -213,6 +213,31 @@ pub fn check_path(
|
||||
));
|
||||
}
|
||||
|
||||
// Raise violations for internal test rules
|
||||
#[cfg(test)]
|
||||
{
|
||||
if settings.rules.enabled(Rule::StableTestRule) {
|
||||
diagnostics.push(Diagnostic::new(
|
||||
Rule::StableTestRule,
|
||||
ruff_text_size::TextRange::default(),
|
||||
));
|
||||
}
|
||||
|
||||
if settings.rules.enabled(Rule::PreviewTestRule) {
|
||||
diagnostics.push(Diagnostic::new(
|
||||
Rule::PreviewTestRule,
|
||||
ruff_text_size::TextRange::default(),
|
||||
));
|
||||
}
|
||||
|
||||
if settings.rules.enabled(Rule::NurseryTestRule) {
|
||||
diagnostics.push(Diagnostic::new(
|
||||
Rule::NurseryTestRule,
|
||||
ruff_text_size::TextRange::default(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
// Ignore diagnostics based on per-file-ignores.
|
||||
if !diagnostics.is_empty() && !settings.per_file_ignores.is_empty() {
|
||||
let ignores = fs::ignores_from_path(path, &settings.per_file_ignores);
|
||||
|
||||
@@ -10,6 +10,8 @@ pub(crate) use mutable_class_default::*;
|
||||
pub(crate) use mutable_dataclass_default::*;
|
||||
pub(crate) use pairwise_over_zipped::*;
|
||||
pub(crate) use static_key_dict_comprehension::*;
|
||||
#[cfg(test)]
|
||||
pub(crate) use test_rules::*;
|
||||
pub(crate) use unnecessary_iterable_allocation_for_first_element::*;
|
||||
#[cfg(feature = "unreachable-code")]
|
||||
pub(crate) use unreachable::*;
|
||||
@@ -29,6 +31,8 @@ mod mutable_class_default;
|
||||
mod mutable_dataclass_default;
|
||||
mod pairwise_over_zipped;
|
||||
mod static_key_dict_comprehension;
|
||||
#[cfg(test)]
|
||||
mod test_rules;
|
||||
mod unnecessary_iterable_allocation_for_first_element;
|
||||
#[cfg(feature = "unreachable-code")]
|
||||
pub(crate) mod unreachable;
|
||||
|
||||
Reference in New Issue
Block a user