diff options
Diffstat (limited to 'cli/js/40_testing.js')
-rw-r--r-- | cli/js/40_testing.js | 22 |
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; |