1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 19:47:45 +00:00

Moved argument parsing to uumain.

This commit is contained in:
Ricardo Iglesias 2021-04-26 20:14:11 -07:00
parent 11d0565f0e
commit ae0cabc60a
3 changed files with 78 additions and 26 deletions

View file

@ -89,21 +89,13 @@ impl Config {
}
pub fn uumain(args: impl uucore::Args) -> i32 {
execute(
args.collect_str(InvalidEncodingHandling::ConvertLossy)
.accept_any(),
SUMMARY,
LONG_HELP,
&get_usage(),
Format::Base32,
)
}
fn execute(args: Vec<String>, _summary: &str, long_help: &str, usage: &str, format: Format) -> i32 {
let format = Format::Base32;
let usage = get_usage();
let app = App::new(executable!())
.version(VERSION)
.usage(usage)
.about(long_help)
.about(SUMMARY)
.usage(&usage[..])
.about(LONG_HELP)
// Format arguments.
.arg(
Arg::with_name(options::DECODE)
@ -130,7 +122,10 @@ fn execute(args: Vec<String>, _summary: &str, long_help: &str, usage: &str, form
// file passed in.
.arg(Arg::with_name(options::FILE).index(1).multiple(true));
let config: Config = Config::from(app.get_matches_from(args));
let arg_list = args
.collect_str(InvalidEncodingHandling::ConvertLossy)
.accept_any();
let config: Config = Config::from(app.get_matches_from(arg_list));
match config.to_read {
// Read from file.
Some(name) => {

View file

@ -28,7 +28,9 @@ static SUMMARY: &str = "A lightweight 'finger' program; print user information.
const BUFSIZE: usize = 1024;
pub fn uumain(args: impl uucore::Args) -> i32 {
let args = args.collect_str(InvalidEncodingHandling::Ignore).accept_any();
let args = args
.collect_str(InvalidEncodingHandling::Ignore)
.accept_any();
let long_help = &format!(
"

View file

@ -13,7 +13,12 @@ fn test_increase_file_size() {
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -25,7 +30,12 @@ fn test_increase_file_size_kb() {
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -46,7 +56,12 @@ fn test_reference() {
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -58,7 +73,12 @@ fn test_decrease_file_size() {
ucmd.args(&["--size=-4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -70,7 +90,12 @@ fn test_space_in_size() {
ucmd.args(&["--size", " 4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -99,7 +124,12 @@ fn test_at_most_shrinks() {
ucmd.args(&["--size", "<4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -111,7 +141,12 @@ fn test_at_most_no_change() {
ucmd.args(&["--size", "<40", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -123,7 +158,12 @@ fn test_at_least_grows() {
ucmd.args(&["--size", ">15", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -135,7 +175,12 @@ fn test_at_least_no_change() {
ucmd.args(&["--size", ">4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -147,7 +192,12 @@ fn test_round_down() {
ucmd.args(&["--size", "/4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}
#[test]
@ -159,5 +209,10 @@ fn test_round_up() {
ucmd.args(&["--size", "*4", TFILE2]).succeeds();
file.seek(SeekFrom::End(0)).unwrap();
let actual = file.seek(SeekFrom::Current(0)).unwrap();
assert!(expected == actual, "expected '{}' got '{}'", expected, actual);
assert!(
expected == actual,
"expected '{}' got '{}'",
expected,
actual
);
}