summaryrefslogtreecommitdiff
path: root/cli/js/40_testing.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/40_testing.js')
-rw-r--r--cli/js/40_testing.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/cli/js/40_testing.js b/cli/js/40_testing.js
index 3058fcee3..740e950a3 100644
--- a/cli/js/40_testing.js
+++ b/cli/js/40_testing.js
@@ -685,6 +685,8 @@ function test(
});
}
+let registeredWarmupBench = false;
+
// Main bench function provided by Deno.
function bench(
nameOrFnOrOptions,
@@ -695,6 +697,25 @@ function bench(
return;
}
+ if (!registeredWarmupBench) {
+ registeredWarmupBench = true;
+ const warmupBenchDesc = {
+ name: "<warmup>",
+ fn: function warmup() {},
+ async: false,
+ ignore: false,
+ baseline: false,
+ only: false,
+ sanitizeExit: true,
+ permissions: null,
+ warmup: true,
+ };
+ warmupBenchDesc.fn = wrapBenchmark(warmupBenchDesc);
+ const { id, origin } = ops.op_register_bench(warmupBenchDesc);
+ warmupBenchDesc.id = id;
+ warmupBenchDesc.origin = origin;
+ }
+
let benchDesc;
const defaults = {
ignore: false,
@@ -777,6 +798,7 @@ function bench(
const AsyncFunction = (async () => {}).constructor;
benchDesc.async = AsyncFunction === benchDesc.fn.constructor;
benchDesc.fn = wrapBenchmark(benchDesc);
+ benchDesc.warmup = false;
const { id, origin } = ops.op_register_bench(benchDesc);
benchDesc.id = id;