mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
Merge branch 'uutils:master' into master
This commit is contained in:
commit
2c41838166
4 changed files with 19 additions and 12 deletions
|
@ -34,12 +34,15 @@ pub mod options {
|
|||
}
|
||||
|
||||
impl Config {
|
||||
fn from(options: clap::ArgMatches) -> Result<Config, String> {
|
||||
fn from(app_name: &str, options: clap::ArgMatches) -> Result<Config, String> {
|
||||
let file: Option<String> = match options.values_of(options::FILE) {
|
||||
Some(mut values) => {
|
||||
let name = values.next().unwrap();
|
||||
if values.len() != 0 {
|
||||
return Err(format!("extra operand '{}'", name));
|
||||
if let Some(extra_op) = values.next() {
|
||||
return Err(format!(
|
||||
"extra operand '{}'\nTry '{} --help' for more information.",
|
||||
extra_op, app_name
|
||||
));
|
||||
}
|
||||
|
||||
if name == "-" {
|
||||
|
@ -58,7 +61,7 @@ impl Config {
|
|||
.value_of(options::WRAP)
|
||||
.map(|num| {
|
||||
num.parse::<usize>()
|
||||
.map_err(|e| format!("Invalid wrap size: '{}': {}", num, e))
|
||||
.map_err(|_| format!("invalid wrap size: '{}'", num))
|
||||
})
|
||||
.transpose()?;
|
||||
|
||||
|
@ -82,7 +85,7 @@ pub fn parse_base_cmd_args(
|
|||
let arg_list = args
|
||||
.collect_str(InvalidEncodingHandling::ConvertLossy)
|
||||
.accept_any();
|
||||
Config::from(app.get_matches_from(arg_list))
|
||||
Config::from(name, app.get_matches_from(arg_list))
|
||||
}
|
||||
|
||||
pub fn base_app<'a>(name: &str, version: &'a str, about: &'a str) -> App<'static, 'a> {
|
||||
|
|
|
@ -103,7 +103,7 @@ fn test_wrap_bad_arg() {
|
|||
.arg(wrap_param)
|
||||
.arg("b")
|
||||
.fails()
|
||||
.stderr_only("base32: Invalid wrap size: 'b': invalid digit found in string\n");
|
||||
.stderr_only("base32: invalid wrap size: 'b'\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -112,9 +112,9 @@ fn test_base32_extra_operand() {
|
|||
// Expect a failure when multiple files are specified.
|
||||
new_ucmd!()
|
||||
.arg("a.txt")
|
||||
.arg("a.txt")
|
||||
.arg("b.txt")
|
||||
.fails()
|
||||
.stderr_only("base32: extra operand 'a.txt'");
|
||||
.stderr_only("base32: extra operand 'b.txt'\nTry 'base32 --help' for more information.");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -89,7 +89,7 @@ fn test_wrap_bad_arg() {
|
|||
.arg(wrap_param)
|
||||
.arg("b")
|
||||
.fails()
|
||||
.stderr_only("base64: Invalid wrap size: 'b': invalid digit found in string\n");
|
||||
.stderr_only("base64: invalid wrap size: 'b'\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,9 +98,9 @@ fn test_base64_extra_operand() {
|
|||
// Expect a failure when multiple files are specified.
|
||||
new_ucmd!()
|
||||
.arg("a.txt")
|
||||
.arg("a.txt")
|
||||
.arg("b.txt")
|
||||
.fails()
|
||||
.stderr_only("base64: extra operand 'a.txt'");
|
||||
.stderr_only("base64: extra operand 'b.txt'\nTry 'base64 --help' for more information.");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
# spell-checker:ignore (paths) abmon deref discrim eacces getlimits getopt ginstall gnulib inacc infloop inotify reflink ; (misc) INT_OFLOW OFLOW ; (vars/env) BUILDDIR SRCDIR
|
||||
# spell-checker:ignore (paths) abmon deref discrim eacces getlimits getopt ginstall gnulib inacc infloop inotify reflink ; (misc) INT_OFLOW OFLOW baddecode ; (vars/env) BUILDDIR SRCDIR
|
||||
|
||||
set -e
|
||||
if test ! -d ../gnu; then
|
||||
|
@ -119,3 +119,7 @@ sed -i -e "s|rm: cannot remove 'a/1'|rm: cannot remove 'a'|g" tests/rm/rm2.sh
|
|||
sed -i -e "s|removed directory 'a/'|removed directory 'a'|g" tests/rm/v-slash.sh
|
||||
|
||||
test -f "${BUILDDIR}/getlimits" || cp src/getlimits "${BUILDDIR}"
|
||||
|
||||
# When decoding an invalid base32/64 string, gnu writes everything it was able to decode until
|
||||
# it hit the decode error, while we don't write anything if the input is invalid.
|
||||
sed -i "s/\(baddecode.*OUT=>\"\).*\"/\1\"/g" tests/misc/base64.pl
|
Loading…
Add table
Add a link
Reference in a new issue