summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsigmaSd <bedisnbiba@gmail.com>2022-12-10 00:34:08 +0100
committerGitHub <noreply@github.com>2022-12-10 00:34:08 +0100
commit4eb8e875fd6fc91ff1dbc34b7bc8750fff728a32 (patch)
treeb09468ef1031e0c7046bfab28aee411bdafcc7ef
parent6794d9fe5d3d401e6e5795a502f8d1ee63fb796b (diff)
feat(init): Generate main_bench.ts by default (#16786)
This commit changes "deno init" to generate "main_bench.ts" file which scaffold two example bench cases.
-rw-r--r--cli/tests/init_tests.rs39
-rw-r--r--cli/tools/init/mod.rs5
-rw-r--r--cli/tools/init/templates/main_bench.ts9
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);
+});