summaryrefslogtreecommitdiff
path: root/cli/tests/unit/metrics_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/metrics_test.ts')
-rw-r--r--cli/tests/unit/metrics_test.ts93
1 files changed, 0 insertions, 93 deletions
diff --git a/cli/tests/unit/metrics_test.ts b/cli/tests/unit/metrics_test.ts
deleted file mode 100644
index 6f8c3b46d..000000000
--- a/cli/tests/unit/metrics_test.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
-import { assert, assertEquals } from "./test_util.ts";
-
-Deno.test(async function metrics() {
- // Write to stdout to ensure a "data" message gets sent instead of just
- // control messages.
- const dataMsg = new Uint8Array([13, 13, 13]); // "\r\r\r",
- await Deno.stdout.write(dataMsg);
-
- // WARNING: bytesReceived & bytesSentControl are now always zero
- // following https://github.com/denoland/deno/pull/9843
-
- const m1 = Deno.metrics();
- assert(m1.opsDispatched > 0);
- assert(m1.opsCompleted > 0);
- assert(m1.bytesSentControl === 0);
- assert(m1.bytesSentData === 0);
- assert(m1.bytesReceived === 0);
- const m1OpWrite = m1.ops["op_write"];
- assert(m1OpWrite.opsDispatchedAsync > 0);
- assert(m1OpWrite.opsCompletedAsync > 0);
- assert(m1OpWrite.bytesSentControl === 0);
- assert(m1OpWrite.bytesSentData >= 0);
- assert(m1OpWrite.bytesReceived === 0);
-
- await Deno.stdout.write(dataMsg);
-
- const m2 = Deno.metrics();
- assert(m2.opsDispatchedAsync > m1.opsDispatchedAsync);
- assert(m2.opsCompletedAsync > m1.opsCompletedAsync);
- assert(m2.bytesSentControl === m1.bytesSentControl);
- assert(m2.bytesSentData === 0);
- assert(m2.bytesReceived === m1.bytesReceived);
- const m2OpWrite = m2.ops["op_write"];
- assert(m2OpWrite.opsDispatchedAsync > m1OpWrite.opsDispatchedAsync);
- assert(m2OpWrite.opsCompletedAsync > m1OpWrite.opsCompletedAsync);
- assert(m2OpWrite.bytesSentControl === m1OpWrite.bytesSentControl);
- assert(m2OpWrite.bytesSentData === 0);
- assert(m2OpWrite.bytesReceived === m1OpWrite.bytesReceived);
-});
-
-Deno.test(
- { permissions: { write: true } },
- function metricsUpdatedIfNoResponseSync() {
- const filename = Deno.makeTempDirSync() + "/test.txt";
-
- const data = new Uint8Array([41, 42, 43]);
- Deno.writeFileSync(filename, data, { mode: 0o666 });
-
- const metrics = Deno.metrics();
- assert(metrics.opsDispatched === metrics.opsCompleted);
- assert(metrics.opsDispatchedSync === metrics.opsCompletedSync);
- },
-);
-
-Deno.test(
- { permissions: { write: true } },
- async function metricsUpdatedIfNoResponseAsync() {
- const filename = Deno.makeTempDirSync() + "/test.txt";
-
- const data = new Uint8Array([41, 42, 43]);
- await Deno.writeFile(filename, data, { mode: 0o666 });
-
- const metrics = Deno.metrics();
- assert(metrics.opsDispatched === metrics.opsCompleted);
- assert(metrics.opsDispatchedSync === metrics.opsCompletedSync);
- assert(metrics.opsDispatchedAsync === metrics.opsCompletedAsync);
- },
-);
-
-// Test that ops from extensions have metrics (via OpMiddleware)
-Deno.test.ignore(function metricsForOpCrates() {
- const _ = new URL("https://deno.land");
-
- const m1 = Deno.metrics().ops["op_url_parse"];
- assert(m1.opsDispatched > 0);
- assert(m1.opsCompleted > 0);
-});
-
-// Test that op_names == Objects.keys(Deno[Deno.internal].core.ops)
-// since building the per-op metrics depends on op_names being complete
-Deno.test(function opNamesMatch() {
- // @ts-ignore: Deno[Deno.internal].core allowed
- const ops = Object.keys(Deno[Deno.internal].core.ops);
- // @ts-ignore: Deno[Deno.internal].core allowed
- ops.concat(Object.keys(Deno[Deno.internal].core.asyncOps));
-
- assertEquals(
- // @ts-ignore: Deno[Deno.internal].core allowed
- Deno[Deno.internal].core.opNames().sort(),
- ops.sort().filter((name) => name !== "asyncOpsInfo"),
- );
-});