Description: Update Rust crate quick-junit to v0.5.1 (#14572)
Index: ruff/crates/ruff_linter/Cargo.toml
===================================================================
--- ruff.orig/crates/ruff_linter/Cargo.toml
+++ ruff/crates/ruff_linter/Cargo.toml
@@ -54,7 +54,7 @@ path-absolutize = { workspace = true, fe
 pathdiff = { version = "0.2.1" }
 pep440_rs = { version = "0.7.3" }
 pyproject-toml = { version = "0.13.7" }
-quick-junit = { version = "0.3.2" }
+quick-junit = { version = "0.5.1" }
 regex = { workspace = true }
 result-like = { version = "0.4.6" }
 rustc-hash = { workspace = true }
Index: ruff/crates/ruff_linter/src/message/junit.rs
===================================================================
--- ruff.orig/crates/ruff_linter/src/message/junit.rs
+++ ruff/crates/ruff_linter/src/message/junit.rs
@@ -1,7 +1,7 @@
 use std::io::Write;
 use std::path::Path;
 
-use quick_junit::{NonSuccessKind, Report, TestCase, TestCaseStatus, TestSuite};
+use quick_junit::{NonSuccessKind, Report, TestCase, TestCaseStatus, TestSuite, XmlString};
 
 use ruff_source_file::SourceLocation;
 
@@ -26,7 +26,7 @@ impl Emitter for JunitEmitter {
             let mut test_suite = TestSuite::new("ruff");
             test_suite
                 .extra
-                .insert("package".to_string(), "org.ruff".to_string());
+                .insert(XmlString::new("package"), XmlString::new("org.ruff"));
             let mut case = TestCase::new("No errors found", TestCaseStatus::success());
             case.set_classname("ruff");
             test_suite.add_test_case(case);
@@ -36,7 +36,7 @@ impl Emitter for JunitEmitter {
                 let mut test_suite = TestSuite::new(filename);
                 test_suite
                     .extra
-                    .insert("package".to_string(), "org.ruff".to_string());
+                    .insert(XmlString::new("package"), XmlString::new("org.ruff"));
 
                 for message in messages {
                     let MessageWithLocation {
@@ -67,10 +67,14 @@ impl Emitter for JunitEmitter {
                     let file_stem = file_path.file_stem().unwrap().to_str().unwrap();
                     let classname = file_path.parent().unwrap().join(file_stem);
                     case.set_classname(classname.to_str().unwrap());
-                    case.extra
-                        .insert("line".to_string(), location.row.to_string());
-                    case.extra
-                        .insert("column".to_string(), location.column.to_string());
+                    case.extra.insert(
+                        XmlString::new("line"),
+                        XmlString::new(location.row.to_string()),
+                    );
+                    case.extra.insert(
+                        XmlString::new("column"),
+                        XmlString::new(location.column.to_string()),
+                    );
 
                     test_suite.add_test_case(case);
                 }
