mirror of https://github.com/astral-sh/ruff
Extract duplicated logic into method (#1428)
This commit is contained in:
parent
d16ba890ae
commit
79ba420faa
|
|
@ -135,17 +135,8 @@ impl<'a> Printer<'a> {
|
||||||
SerializationFormat::Junit => {
|
SerializationFormat::Junit => {
|
||||||
use quick_junit::{NonSuccessKind, Report, TestCase, TestCaseStatus, TestSuite};
|
use quick_junit::{NonSuccessKind, Report, TestCase, TestCaseStatus, TestSuite};
|
||||||
|
|
||||||
// Group by filename.
|
|
||||||
let mut grouped_messages = BTreeMap::default();
|
|
||||||
for message in &diagnostics.messages {
|
|
||||||
grouped_messages
|
|
||||||
.entry(&message.filename)
|
|
||||||
.or_insert_with(Vec::new)
|
|
||||||
.push(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut report = Report::new("ruff");
|
let mut report = Report::new("ruff");
|
||||||
for (filename, messages) in grouped_messages {
|
for (filename, messages) in group_messages_by_filename(&diagnostics.messages) {
|
||||||
let mut test_suite = TestSuite::new(filename);
|
let mut test_suite = TestSuite::new(filename);
|
||||||
test_suite
|
test_suite
|
||||||
.extra
|
.extra
|
||||||
|
|
@ -184,16 +175,7 @@ impl<'a> Printer<'a> {
|
||||||
self.post_text(diagnostics);
|
self.post_text(diagnostics);
|
||||||
}
|
}
|
||||||
SerializationFormat::Grouped => {
|
SerializationFormat::Grouped => {
|
||||||
// Group by filename.
|
for (filename, messages) in group_messages_by_filename(&diagnostics.messages) {
|
||||||
let mut grouped_messages = BTreeMap::default();
|
|
||||||
for message in &diagnostics.messages {
|
|
||||||
grouped_messages
|
|
||||||
.entry(&message.filename)
|
|
||||||
.or_insert_with(Vec::new)
|
|
||||||
.push(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (filename, messages) in grouped_messages {
|
|
||||||
// Compute the maximum number of digits in the row and column, for messages in
|
// Compute the maximum number of digits in the row and column, for messages in
|
||||||
// this file.
|
// this file.
|
||||||
let row_length = num_digits(
|
let row_length = num_digits(
|
||||||
|
|
@ -304,6 +286,17 @@ impl<'a> Printer<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn group_messages_by_filename(messages: &Vec<Message>) -> BTreeMap<&String, Vec<&Message>> {
|
||||||
|
let mut grouped_messages = BTreeMap::default();
|
||||||
|
for message in messages {
|
||||||
|
grouped_messages
|
||||||
|
.entry(&message.filename)
|
||||||
|
.or_insert_with(Vec::new)
|
||||||
|
.push(message);
|
||||||
|
}
|
||||||
|
grouped_messages
|
||||||
|
}
|
||||||
|
|
||||||
fn num_digits(n: usize) -> usize {
|
fn num_digits(n: usize) -> usize {
|
||||||
iterate(n, |&n| n / 10)
|
iterate(n, |&n| n / 10)
|
||||||
.take_while(|&n| n > 0)
|
.take_while(|&n| n > 0)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue