summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-03-24 23:16:45 +0000
committerGitHub <noreply@github.com>2024-03-24 16:16:45 -0700
commitd043dd86f73f93691c9d9032b38ac94ac16a8793 (patch)
tree575102a4f7652fdb6538ffcead590bedf67237b8
parentd263c632e3d5a91fd6f9fffc598128d87c5621cd (diff)
fix: don't panic in test and bench if ops not available (#23055)
Fixes regression introduced in https://github.com/denoland/deno/pull/22112 that removed checks if `Deno.test` or `Deno.bench` are not used in respective subcommands. Closes https://github.com/denoland/deno/issues/23041
-rw-r--r--cli/js/40_bench.js5
-rw-r--r--cli/js/40_test.js5
-rw-r--r--tests/specs/bench/test_and_bench/__test__.jsonc5
-rw-r--r--tests/specs/bench/test_and_bench/main.js3
-rw-r--r--tests/specs/bench/test_and_bench/main.out3
-rw-r--r--tests/specs/test/test_and_bench/__test__.jsonc5
-rw-r--r--tests/specs/test/test_and_bench/main.js3
-rw-r--r--tests/specs/test/test_and_bench/main.out5
8 files changed, 34 insertions, 0 deletions
diff --git a/cli/js/40_bench.js b/cli/js/40_bench.js
index e1373c990..a94c782fc 100644
--- a/cli/js/40_bench.js
+++ b/cli/js/40_bench.js
@@ -47,6 +47,11 @@ function bench(
optionsOrFn,
maybeFn,
) {
+ // No-op if we're not running in `deno bench` subcommand.
+ if (typeof op_register_bench !== "function") {
+ return;
+ }
+
if (!registeredWarmupBench) {
registeredWarmupBench = true;
const warmupBenchDesc = {
diff --git a/cli/js/40_test.js b/cli/js/40_test.js
index 2e448e847..d93228940 100644
--- a/cli/js/40_test.js
+++ b/cli/js/40_test.js
@@ -198,6 +198,11 @@ function testInner(
maybeFn,
overrides = {},
) {
+ // No-op if we're not running in `deno test` subcommand.
+ if (typeof op_register_test !== "function") {
+ return;
+ }
+
let testDesc;
const defaults = {
ignore: false,
diff --git a/tests/specs/bench/test_and_bench/__test__.jsonc b/tests/specs/bench/test_and_bench/__test__.jsonc
new file mode 100644
index 000000000..cc072ced2
--- /dev/null
+++ b/tests/specs/bench/test_and_bench/__test__.jsonc
@@ -0,0 +1,5 @@
+// Regression test for https://github.com/denoland/deno/issues/23041
+{
+ "args": "bench main.js",
+ "output": "main.out"
+}
diff --git a/tests/specs/bench/test_and_bench/main.js b/tests/specs/bench/test_and_bench/main.js
new file mode 100644
index 000000000..5e4a395e9
--- /dev/null
+++ b/tests/specs/bench/test_and_bench/main.js
@@ -0,0 +1,3 @@
+Deno.test("test", () => {});
+
+Deno.bench("bench", () => {});
diff --git a/tests/specs/bench/test_and_bench/main.out b/tests/specs/bench/test_and_bench/main.out
new file mode 100644
index 000000000..24c13c8e0
--- /dev/null
+++ b/tests/specs/bench/test_and_bench/main.out
@@ -0,0 +1,3 @@
+[WILDCARD]
+[WILDCARD]main.js
+benchmark[WILDCARD]
diff --git a/tests/specs/test/test_and_bench/__test__.jsonc b/tests/specs/test/test_and_bench/__test__.jsonc
new file mode 100644
index 000000000..bc9124318
--- /dev/null
+++ b/tests/specs/test/test_and_bench/__test__.jsonc
@@ -0,0 +1,5 @@
+// Regression test for https://github.com/denoland/deno/issues/23041
+{
+ "args": "test main.js",
+ "output": "main.out"
+}
diff --git a/tests/specs/test/test_and_bench/main.js b/tests/specs/test/test_and_bench/main.js
new file mode 100644
index 000000000..5e4a395e9
--- /dev/null
+++ b/tests/specs/test/test_and_bench/main.js
@@ -0,0 +1,3 @@
+Deno.test("test", () => {});
+
+Deno.bench("bench", () => {});
diff --git a/tests/specs/test/test_and_bench/main.out b/tests/specs/test/test_and_bench/main.out
new file mode 100644
index 000000000..52a061f21
--- /dev/null
+++ b/tests/specs/test/test_and_bench/main.out
@@ -0,0 +1,5 @@
+running 1 test from ./main.js
+test ... ok ([WILDCARD])
+
+ok | 1 passed | 0 failed ([WILDCARD])
+