From a9395f56bed0d727d887555e1720ba5d7137b6f4 Mon Sep 17 00:00:00 2001 From: Diomidis Spinellis Date: Mon, 3 Mar 2025 17:01:54 +0200 Subject: [PATCH] Test required script argument --- src/uu/sed/src/sed.rs | 4 ++++ tests/by-util/test_sed.rs | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/uu/sed/src/sed.rs b/src/uu/sed/src/sed.rs index be4f890..6c45b4d 100644 --- a/src/uu/sed/src/sed.rs +++ b/src/uu/sed/src/sed.rs @@ -4,6 +4,8 @@ // file that was distributed with this source code. use clap::{arg, Arg, Command}; +//use clap::builder::OsStr; +use std::ffi::OsString; use std::path::PathBuf; use uucore::{error::UResult, format_usage}; @@ -12,6 +14,8 @@ const USAGE: &str = "sed [OPTION]... {singular-script} [input-file]..."; #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { + // Skip binary name + let args: Vec = args.skip(1).collect(); // TODO remove underscore prefix when var is used let _matches = uu_app().try_get_matches_from(args)?; // TODO diff --git a/tests/by-util/test_sed.rs b/tests/by-util/test_sed.rs index ec9855a..51d155a 100644 --- a/tests/by-util/test_sed.rs +++ b/tests/by-util/test_sed.rs @@ -11,6 +11,20 @@ fn test_invalid_arg() { } #[test] -fn test_sed() { - new_ucmd!().succeeds(); +fn test_debug() { + new_ucmd!().arg("--debug").arg("").succeeds(); +} + +#[test] +fn test_missing_script_argument() { + new_ucmd!() + .fails() + .code_is(1) + .stderr_contains("the following required arguments were not provided") + .stderr_contains("