1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 17:14:08 +02:00

allow extra test args

This commit is contained in:
Robin Appelman 2021-05-05 20:29:30 +02:00
commit 818092fda8
2 changed files with 16 additions and 16 deletions

View file

@ -18,7 +18,7 @@ pub enum HazeArgs {
},
Test {
options: CloudOptions,
path: Option<String>,
args: Vec<String>,
},
Exec {
filter: Option<String>,
@ -90,11 +90,8 @@ impl HazeArgs {
HazeCommand::Test => {
let mut args = args.peekable();
let options = CloudOptions::parse(&mut args)?;
let path = args.next().map(S::into);
if let Some(leftover) = args.next() {
return Err(Report::msg(format!("unrecognized option {}", leftover)));
}
Ok(HazeArgs::Test { options, path })
let args = args.map(S::into).collect();
Ok(HazeArgs::Test { options, args })
}
HazeCommand::Exec => Ok(HazeArgs::Exec {
filter,
@ -188,7 +185,7 @@ fn test_arg_parse() {
HazeArgs::parse(vec!["haze", "test"].into_iter()).unwrap(),
HazeArgs::Test {
options: Default::default(),
path: None
args: vec![]
}
);
assert_eq!(
@ -217,4 +214,11 @@ fn test_arg_parse() {
command: vec!["foo".to_string(), "bar".to_string()],
}
);
assert_eq!(
HazeArgs::parse(vec!["haze", "test", "foo", "bar"].into_iter()).unwrap(),
HazeArgs::Test {
options: Default::default(),
args: vec!["foo".into(), "bar".into()]
}
);
}