From f34ebac3fec11afbf0df122e54e97a3dd52a93aa Mon Sep 17 00:00:00 2001 From: Foorack Date: Sun, 9 Feb 2025 15:11:13 +0100 Subject: [PATCH] lsmem: Fix JSON output writing size as Number in bytes-mode --- src/uu/lsmem/src/lsmem.rs | 6 +++++- tests/by-util/test_lsmem.rs | 9 ++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/uu/lsmem/src/lsmem.rs b/src/uu/lsmem/src/lsmem.rs index b7f1d71..8f02ef8 100644 --- a/src/uu/lsmem/src/lsmem.rs +++ b/src/uu/lsmem/src/lsmem.rs @@ -578,7 +578,11 @@ fn print_json(lsmem: &Lsmem, opts: &Options) { for column in &opts.columns { record.insert( column.get_name().to_lowercase(), - serde_json::Value::String(row.get_value(column)), + if column == &Column::Size && opts.bytes { + serde_json::Value::Number(row.get_value(column).parse().unwrap()) + } else { + serde_json::Value::String(row.get_value(column)) + }, ); } memory_records.push(serde_json::Value::Object(record)); diff --git a/tests/by-util/test_lsmem.rs b/tests/by-util/test_lsmem.rs index 5cbaa61..6e15b06 100644 --- a/tests/by-util/test_lsmem.rs +++ b/tests/by-util/test_lsmem.rs @@ -65,11 +65,10 @@ fn test_json_all() { sysroot_test_with_args("test_lsmem_json_all.expected", &["-J", "-a"]); } -// FAILS, COMMENT FOR NOW - TODO -// #[test] -// fn test_json_bytes() { -// sysroot_test_with_args("test_lsmem_json_bytes.expected", &["-J", "-b"]); -// } +#[test] +fn test_json_bytes() { + sysroot_test_with_args("test_lsmem_json_bytes.expected", &["-J", "-b"]); +} #[test] fn test_json_noheadings() {