diff options
-rw-r--r-- | cli/tests/init_tests.rs | 39 | ||||
-rw-r--r-- | cli/tools/init/mod.rs | 5 | ||||
-rw-r--r-- | cli/tools/init/templates/main_bench.ts | 9 |
3 files changed, 53 insertions, 0 deletions
diff --git a/cli/tests/init_tests.rs b/cli/tests/init_tests.rs index a85966f3c..91e5197fb 100644 --- a/cli/tests/init_tests.rs +++ b/cli/tests/init_tests.rs @@ -30,6 +30,7 @@ mod init { assert_contains!(stderr, "deno run main.ts"); assert_contains!(stderr, "deno task dev"); assert_contains!(stderr, "deno test"); + assert_contains!(stderr, "deno bench"); assert!(cwd.join("deno.jsonc").exists()); @@ -60,6 +61,18 @@ mod init { assert!(output.status.success()); let stdout = String::from_utf8(output.stdout).unwrap(); assert_contains!(stdout, "1 passed"); + + let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir); + let output = deno_cmd + .current_dir(cwd) + .env("NO_COLOR", "1") + .arg("bench") + .stdout(Stdio::piped()) + .spawn() + .unwrap() + .wait_with_output() + .unwrap(); + assert!(output.status.success()); } #[test] @@ -85,6 +98,7 @@ mod init { assert_contains!(stderr, "deno run main.ts"); assert_contains!(stderr, "deno task dev"); assert_contains!(stderr, "deno test"); + assert_contains!(stderr, "deno bench"); assert!(cwd.join("my_dir/deno.jsonc").exists()); @@ -116,6 +130,19 @@ mod init { assert!(output.status.success()); let stdout = String::from_utf8(output.stdout).unwrap(); assert_contains!(stdout, "1 passed"); + + let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir); + let output = deno_cmd + .current_dir(cwd) + .env("NO_COLOR", "1") + .arg("bench") + .arg("my_dir/main_bench.ts") + .stdout(Stdio::piped()) + .spawn() + .unwrap() + .wait_with_output() + .unwrap(); + assert!(output.status.success()); } #[test] @@ -166,5 +193,17 @@ mod init { assert!(output.status.success()); let stdout = String::from_utf8(output.stdout).unwrap(); assert_contains!(stdout, "1 passed"); + + let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir); + let output = deno_cmd + .current_dir(cwd) + .env("NO_COLOR", "1") + .arg("bench") + .stdout(Stdio::piped()) + .spawn() + .unwrap() + .wait_with_output() + .unwrap(); + assert!(output.status.success()); } } diff --git a/cli/tools/init/mod.rs b/cli/tools/init/mod.rs index 96b5b9a46..bb11dba69 100644 --- a/cli/tools/init/mod.rs +++ b/cli/tools/init/mod.rs @@ -40,6 +40,8 @@ pub async fn init_project(init_flags: InitFlags) -> Result<(), AnyError> { let main_test_ts = include_str!("./templates/main_test.ts") .replace("{CURRENT_STD_URL}", deno_std::CURRENT_STD_URL.as_str()); create_file(&dir, "main_test.ts", &main_test_ts)?; + let main_bench_ts = include_str!("./templates/main_bench.ts"); + create_file(&dir, "main_bench.ts", main_bench_ts)?; create_file(&dir, "deno.jsonc", include_str!("./templates/deno.jsonc"))?; @@ -62,5 +64,8 @@ pub async fn init_project(init_flags: InitFlags) -> Result<(), AnyError> { info!(""); info!(" {}", colors::gray("// Run the tests")); info!(" deno test"); + info!(""); + info!(" {}", colors::gray("// Run the benchmarks")); + info!(" deno bench"); Ok(()) } diff --git a/cli/tools/init/templates/main_bench.ts b/cli/tools/init/templates/main_bench.ts new file mode 100644 index 000000000..5867ca0a6 --- /dev/null +++ b/cli/tools/init/templates/main_bench.ts @@ -0,0 +1,9 @@ +import { add } from "./main.ts"; + +Deno.bench(function addSmall() { + add(1, 2); +}); + +Deno.bench(function addBig() { + add(2 ** 32, 2 ** 32); +}); |