summaryrefslogtreecommitdiff
path: root/cli/flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/flags.rs')
-rw-r--r--cli/flags.rs22
1 files changed, 9 insertions, 13 deletions
diff --git a/cli/flags.rs b/cli/flags.rs
index 86a5405b2..8236d63db 100644
--- a/cli/flags.rs
+++ b/cli/flags.rs
@@ -101,7 +101,7 @@ pub enum DenoSubcommand {
Test {
doc: bool,
no_run: bool,
- fail_fast: Option<usize>,
+ fail_fast: Option<NonZeroUsize>,
quiet: bool,
allow_none: bool,
include: Option<Vec<String>>,
@@ -1047,16 +1047,9 @@ fn test_subcommand<'a, 'b>() -> App<'a, 'b> {
.takes_value(true)
.require_equals(true)
.value_name("N")
- .validator(|val: String| match val.parse::<usize>() {
- Ok(val) => {
- if val == 0 {
- return Err(
- "fail-fast should be an number greater than 0".to_string(),
- );
- }
- Ok(())
- }
- Err(_) => Err("fail-fast should be a number".to_string()),
+ .validator(|val: String| match val.parse::<NonZeroUsize>() {
+ Ok(_) => Ok(()),
+ Err(_) => Err("fail-fast should be a non zero integer".to_string()),
}),
)
.arg(
@@ -1786,7 +1779,7 @@ fn test_parse(flags: &mut Flags, matches: &clap::ArgMatches) {
if let Some(value) = matches.value_of("fail-fast") {
Some(value.parse().unwrap())
} else {
- Some(1)
+ Some(NonZeroUsize::new(1).unwrap())
}
} else {
None
@@ -3663,7 +3656,7 @@ mod tests {
subcommand: DenoSubcommand::Test {
no_run: false,
doc: false,
- fail_fast: Some(3),
+ fail_fast: Some(NonZeroUsize::new(3).unwrap()),
filter: None,
allow_none: false,
quiet: false,
@@ -3674,6 +3667,9 @@ mod tests {
..Flags::default()
}
);
+
+ let r = flags_from_vec(svec!["deno", "test", "--fail-fast=0"]);
+ assert!(r.is_err());
}
#[test]