1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

Merge pull request #2899 from cohosh/join_chkodr_error_fix

join: print unsorted line in error message
This commit is contained in:
Terts Diepraam 2022-01-21 19:45:29 +01:00 committed by GitHub
commit 8c53854aca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View file

@ -235,6 +235,7 @@ impl Spec {
struct Line {
fields: Vec<Vec<u8>>,
string: Vec<u8>,
}
impl Line {
@ -247,10 +248,10 @@ impl Line {
.map(Vec::from)
.collect(),
Sep::Char(sep) => string.split(|c| *c == sep).map(Vec::from).collect(),
Sep::Line => vec![string],
Sep::Line => vec![string.clone()],
};
Line { fields }
Line { fields, string }
}
/// Get field at index.
@ -444,9 +445,11 @@ impl<'a> State<'a> {
if diff == Ordering::Greater {
eprintln!(
"{}:{}: is not sorted",
"{}: {}:{}: is not sorted: {}",
uucore::execution_phrase(),
self.file_name.maybe_quote(),
self.line_num
self.line_num,
String::from_utf8_lossy(&line.string)
);
// This is fatal if the check is enabled.

View file

@ -283,11 +283,16 @@ fn missing_format_fields() {
#[test]
fn wrong_line_order() {
let ts = TestScenario::new(util_name!());
new_ucmd!()
.arg("fields_2.txt")
.arg("fields_4.txt")
.fails()
.stderr_is("fields_4.txt:5: is not sorted");
.stderr_is(&format!(
"{} {}: fields_4.txt:5: is not sorted: 11 g 5 gh",
ts.bin_path.to_string_lossy(),
ts.util_name
));
}
#[test]