mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
feat(cli/test): add DENO_JOBS
env variable for test
subcommand (#14929)
This commit is contained in:
parent
f9b692e68e
commit
ee0c0586b3
5 changed files with 48 additions and 1 deletions
|
@ -480,6 +480,10 @@ static ENV_VARIABLES_HELP: &str = r#"ENVIRONMENT VARIABLES:
|
|||
DENO_NO_PROMPT Set to disable permission prompts on access
|
||||
(alternative to passing --no-prompt on invocation)
|
||||
DENO_WEBGPU_TRACE Directory to use for wgpu traces
|
||||
DENO_JOBS Number of parallel workers used for test subcommand.
|
||||
Defaults to number of available CPUs when used with
|
||||
--jobs flag and no value is provided.
|
||||
Defaults to 1 when --jobs flag is not used.
|
||||
HTTP_PROXY Proxy address for HTTP requests
|
||||
(module downloads, fetch)
|
||||
HTTPS_PROXY Proxy address for HTTPS requests
|
||||
|
@ -1548,7 +1552,7 @@ fn test_subcommand<'a>() -> Command<'a> {
|
|||
Arg::new("jobs")
|
||||
.short('j')
|
||||
.long("jobs")
|
||||
.help("Number of parallel workers, defaults to # of CPUs when no value is provided. Defaults to 1 when the option is not present.")
|
||||
.help("Number of parallel workers, defaults to number of available CPUs when no value is provided. Defaults to 1 when the option is not present.")
|
||||
.min_values(0)
|
||||
.max_values(1)
|
||||
.takes_value(true)
|
||||
|
@ -2666,6 +2670,10 @@ fn test_parse(flags: &mut Flags, matches: &clap::ArgMatches) {
|
|||
let concurrent_jobs = if matches.is_present("jobs") {
|
||||
if let Some(value) = matches.value_of("jobs") {
|
||||
value.parse().unwrap()
|
||||
} else if let Ok(value) = env::var("DENO_JOBS") {
|
||||
value
|
||||
.parse::<NonZeroUsize>()
|
||||
.unwrap_or(NonZeroUsize::new(1).unwrap())
|
||||
} else {
|
||||
std::thread::available_parallelism()
|
||||
.unwrap_or(NonZeroUsize::new(1).unwrap())
|
||||
|
|
|
@ -62,6 +62,32 @@ itest!(collect {
|
|||
output: "test/collect.out",
|
||||
});
|
||||
|
||||
itest!(jobs_flag {
|
||||
args: "test test/short-pass.ts --jobs",
|
||||
exit_code: 0,
|
||||
output: "test/short-pass.out",
|
||||
});
|
||||
|
||||
itest!(jobs_flag_with_numeric_value {
|
||||
args: "test test/short-pass.ts --jobs=2",
|
||||
exit_code: 0,
|
||||
output: "test/short-pass-jobs-flag-with-numeric-value.out",
|
||||
});
|
||||
|
||||
itest!(jobs_flag_with_env_variable {
|
||||
args: "test test/short-pass.ts --jobs",
|
||||
envs: vec![("DENO_JOBS".to_owned(), "2".to_owned())],
|
||||
exit_code: 0,
|
||||
output: "test/short-pass.out",
|
||||
});
|
||||
|
||||
itest!(jobs_flag_with_numeric_value_and_env_var {
|
||||
args: "test test/short-pass.ts --jobs=2",
|
||||
envs: vec![("DENO_JOBS".to_owned(), "3".to_owned())],
|
||||
exit_code: 0,
|
||||
output: "test/short-pass-jobs-flag-with-numeric-value.out",
|
||||
});
|
||||
|
||||
itest!(load_unload {
|
||||
args: "test test/load_unload.ts",
|
||||
exit_code: 0,
|
||||
|
|
6
cli/tests/testdata/test/short-pass-jobs-flag-with-numeric-value.out
vendored
Normal file
6
cli/tests/testdata/test/short-pass-jobs-flag-with-numeric-value.out
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
Check [WILDCARD]/test/short-pass.ts
|
||||
running 1 test from ./test/short-pass.ts
|
||||
test ... ok ([WILDCARD])
|
||||
|
||||
ok | 1 passed | 0 failed ([WILDCARD])
|
||||
|
6
cli/tests/testdata/test/short-pass.out
vendored
Normal file
6
cli/tests/testdata/test/short-pass.out
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
Check [WILDCARD]/test/short-pass.ts
|
||||
running 1 test from ./test/short-pass.ts
|
||||
test ... ok ([WILDCARD])
|
||||
|
||||
ok | 1 passed | 0 failed ([WILDCARD])
|
||||
|
1
cli/tests/testdata/test/short-pass.ts
vendored
Normal file
1
cli/tests/testdata/test/short-pass.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Deno.test("test", () => {});
|
Loading…
Reference in a new issue