summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/bench
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/testdata/bench')
-rw-r--r--cli/tests/testdata/bench/explicit_start_and_end.out25
-rw-r--r--cli/tests/testdata/bench/explicit_start_and_end.ts50
2 files changed, 75 insertions, 0 deletions
diff --git a/cli/tests/testdata/bench/explicit_start_and_end.out b/cli/tests/testdata/bench/explicit_start_and_end.out
new file mode 100644
index 000000000..89df85a42
--- /dev/null
+++ b/cli/tests/testdata/bench/explicit_start_and_end.out
@@ -0,0 +1,25 @@
+cpu: [WILDCARD]
+runtime: deno [WILDCARD] ([WILDCARD])
+
+[WILDCARD]/explicit_start_and_end.ts
+benchmark time (avg) (min … max) p75 p99 p995
+----------------------------------------------------- -----------------------------
+start and end [WILDCARD] [WILDCARD]/iter[WILDCARD]([WILDCARD] … [WILDCARD]) [WILDCARD]
+start only [WILDCARD] [WILDCARD]/iter[WILDCARD]([WILDCARD] … [WILDCARD]) [WILDCARD]
+end only [WILDCARD] [WILDCARD]/iter[WILDCARD]([WILDCARD] … [WILDCARD]) [WILDCARD]
+double start error: TypeError: BenchContext::start() has already been invoked.
+ t.start();
+ ^
+ at BenchContext.start ([WILDCARD])
+ at [WILDCARD]/explicit_start_and_end.ts:[WILDCARD]
+double end error: TypeError: BenchContext::end() has already been invoked.
+ t.end();
+ ^
+ at BenchContext.end ([WILDCARD])
+ at [WILDCARD]/explicit_start_and_end.ts:[WILDCARD]
+captured error: TypeError: The benchmark which this context belongs to is not being executed.
+ captured!.start();
+ ^
+ at BenchContext.start ([WILDCARD])
+ at [WILDCARD]/explicit_start_and_end.ts:[WILDCARD]
+error: Bench failed
diff --git a/cli/tests/testdata/bench/explicit_start_and_end.ts b/cli/tests/testdata/bench/explicit_start_and_end.ts
new file mode 100644
index 000000000..60a3d10d7
--- /dev/null
+++ b/cli/tests/testdata/bench/explicit_start_and_end.ts
@@ -0,0 +1,50 @@
+Deno.bench("start and end", (t) => {
+ const id = setInterval(() => {}, 1000);
+ t.start();
+ Deno.inspect(id);
+ t.end();
+ clearInterval(id);
+});
+
+Deno.bench("start only", (t) => {
+ const id = setInterval(() => {}, 1000);
+ t.start();
+ Deno.inspect(id);
+ clearInterval(id);
+});
+
+Deno.bench("end only", (t) => {
+ const id = setInterval(() => {}, 1000);
+ Deno.inspect(id);
+ t.end();
+ clearInterval(id);
+});
+
+Deno.bench("double start", (t) => {
+ const id = setInterval(() => {}, 1000);
+ t.start();
+ t.start();
+ Deno.inspect(id);
+ t.end();
+ clearInterval(id);
+});
+
+let captured: Deno.BenchContext;
+
+Deno.bench("double end", (t) => {
+ captured = t;
+ const id = setInterval(() => {}, 1000);
+ t.start();
+ Deno.inspect(id);
+ t.end();
+ t.end();
+ clearInterval(id);
+});
+
+Deno.bench("captured", () => {
+ const id = setInterval(() => {}, 1000);
+ captured!.start();
+ Deno.inspect(id);
+ captured!.end();
+ clearInterval(id);
+});