From 4ff318aee1c28a4a959a35917ca1fa7cec703669 Mon Sep 17 00:00:00 2001 From: Jeffrey Finkelstein Date: Sun, 7 May 2023 16:33:21 -0400 Subject: [PATCH] fixup! dd: support the [io]flag=nocache option --- src/uu/dd/src/dd.rs | 2 ++ tests/by-util/test_dd.rs | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/uu/dd/src/dd.rs b/src/uu/dd/src/dd.rs index 3b8b3addb..6727f4bb0 100644 --- a/src/uu/dd/src/dd.rs +++ b/src/uu/dd/src/dd.rs @@ -793,6 +793,7 @@ fn dd_copy(mut i: Input, mut o: Output) -> std::io::Result<()> { // TODO Better error handling for overflowing `len`. if i.settings.iflags.nocache { let offset = 0; + #[allow(clippy::useless_conversion)] let len = i.src.len()?.try_into().unwrap(); i.discard_cache(offset, len); } @@ -801,6 +802,7 @@ fn dd_copy(mut i: Input, mut o: Output) -> std::io::Result<()> { // TODO Better error handling for overflowing `len`. if i.settings.oflags.nocache { let offset = 0; + #[allow(clippy::useless_conversion)] let len = o.dst.len()?.try_into().unwrap(); o.discard_cache(offset, len); } diff --git a/tests/by-util/test_dd.rs b/tests/by-util/test_dd.rs index a54c473ef..79b139602 100644 --- a/tests/by-util/test_dd.rs +++ b/tests/by-util/test_dd.rs @@ -1541,11 +1541,15 @@ fn test_multiple_processes_reading_stdin() { #[test] #[cfg(target_os = "linux")] fn test_nocache_stdin_error() { + #[cfg(not(target_env = "musl"))] + let detail = "Illegal seek"; + #[cfg(target_env = "musl")] + let detail = "Invalid seek"; new_ucmd!() .args(&["iflag=nocache", "count=0", "status=noxfer"]) .fails() .code_is(1) - .stderr_only("dd: failed to discard cache for: 'standard input': Illegal seek\n0+0 records in\n0+0 records out\n"); + .stderr_only(format!("dd: failed to discard cache for: 'standard input': {detail}\n0+0 records in\n0+0 records out\n")); } /// Test for discarding system file cache.