diff --git a/src/cli.rs b/src/cli.rs index 97b0ffe..d925c50 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -462,7 +462,7 @@ pub struct Opts { /// Set number of threads to use for searching & executing (default: number /// of available CPU cores) - #[arg(long, short = 'j', value_name = "num", hide_short_help = true, value_parser = 1..)] + #[arg(long, short = 'j', value_name = "num", hide_short_help = true, value_parser = clap::value_parser!(u32).range(1..))] pub threads: Option, /// Milliseconds to buffer before streaming search results to console diff --git a/tests/tests.rs b/tests/tests.rs index 4d5b151..1cc561f 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -2066,6 +2066,14 @@ fn test_list_details() { te.assert_success_and_get_output(".", &["--list-details"]); } +#[test] +fn test_single_and_multithreaded_execution() { + let te = TestEnv::new(DEFAULT_DIRS, DEFAULT_FILES); + + te.assert_output(&["--threads=1", "a.foo"], "a.foo"); + te.assert_output(&["--threads=16", "a.foo"], "a.foo"); +} + /// Make sure that fd fails if numeric arguments can not be parsed #[test] fn test_number_parsing_errors() {