From 74e0071cfef99fa84c7ad26c4b94423e257cb88a Mon Sep 17 00:00:00 2001 From: Tyler Date: Tue, 6 Jul 2021 17:47:26 -0700 Subject: [PATCH] fixes conv=nocreat test failure --- src/uu/dd/src/dd.rs | 13 ++++--------- src/uu/dd/src/parseargs/unit_tests.rs | 2 +- tests/by-util/test_dd.rs | 3 +-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/uu/dd/src/dd.rs b/src/uu/dd/src/dd.rs index 6a9b58186..f93a2b309 100644 --- a/src/uu/dd/src/dd.rs +++ b/src/uu/dd/src/dd.rs @@ -366,14 +366,12 @@ impl Output { .create_new(cflags.excl) .append(oflags.append); - if cfg!(unix) { - if let Some(libc_flags) = make_unix_oflags(oflags) { - opts.custom_flags(libc_flags); - } + #[cfg(target_os = "linux")] + if let Some(libc_flags) = make_unix_oflags(oflags) { + opts.custom_flags(libc_flags); } let dst = opts.open(path)?; - Ok(dst) } let obs = parseargs::parse_obs(matches)?; @@ -777,10 +775,7 @@ fn print_xfer_stats(update: &ProgUpdate) { } /// Generate a progress updater that tracks progress, receives updates, and responds to signals. -fn gen_prog_updater( - rx: mpsc::Receiver, - xfer_stats: Option, -) -> impl Fn() { +fn gen_prog_updater(rx: mpsc::Receiver, xfer_stats: Option) -> impl Fn() { // -------------------------------------------------------------- fn posixly_correct() -> bool { env::var("POSIXLY_CORRECT").is_ok() diff --git a/src/uu/dd/src/parseargs/unit_tests.rs b/src/uu/dd/src/parseargs/unit_tests.rs index f2019c3cd..79a04482b 100644 --- a/src/uu/dd/src/parseargs/unit_tests.rs +++ b/src/uu/dd/src/parseargs/unit_tests.rs @@ -7,7 +7,7 @@ use crate::StatusLevel; fn unimplemented_flags_should_error_non_unix() { let mut unfailed = Vec::new(); - // The following flags are only implemented in unix + // The following flags are only implemented in linux for flag in vec![ "direct", "directory", diff --git a/tests/by-util/test_dd.rs b/tests/by-util/test_dd.rs index ae23e963e..a3876e2d8 100644 --- a/tests/by-util/test_dd.rs +++ b/tests/by-util/test_dd.rs @@ -268,11 +268,10 @@ fn test_nocreat_causes_failure_when_outfile_not_present() { assert_fixture_not_exists!(&fname); let (fix, mut ucmd) = at_and_ucmd!(); - ucmd.args(&["conv=nocreat", of!(&fname)]).pipe_in("").run(); + ucmd.args(&["conv=nocreat", of!(&fname)]).pipe_in("").fails().stderr_is("dd Error: No such file or directory (os error 2)"); assert!(!fix.file_exists(&fname)); - ucmd.fails(); } #[test]