From f8435d20b0e9408e50bfb24793becc0e476cc285 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Fri, 17 Feb 2023 18:48:09 +0530 Subject: feat(ext/node): implement `node:v8` (#17806) Closes https://github.com/denoland/deno/issues/17115 Implements `cachedDataVersionTag` and `getHeapStatistics`. --- cli/tests/unit_node/v8_test.ts | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 cli/tests/unit_node/v8_test.ts (limited to 'cli') diff --git a/cli/tests/unit_node/v8_test.ts b/cli/tests/unit_node/v8_test.ts new file mode 100644 index 000000000..ab1903596 --- /dev/null +++ b/cli/tests/unit_node/v8_test.ts @@ -0,0 +1,58 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import { + cachedDataVersionTag, + getHeapStatistics, + setFlagsFromString, +} from "node:v8"; +import { + assertEquals, + assertThrows, +} from "../../../test_util/std/testing/asserts.ts"; + +// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-version-tag.js#L6 +Deno.test({ + name: "cachedDataVersionTag success", + fn() { + const tag = cachedDataVersionTag(); + assertEquals(typeof tag, "number"); + assertEquals(cachedDataVersionTag(), tag); + }, +}); + +// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-stats.js#L6 +Deno.test({ + name: "getHeapStatistics success", + fn() { + const s = getHeapStatistics(); + const keys = [ + "does_zap_garbage", + "external_memory", + "heap_size_limit", + "malloced_memory", + "number_of_detached_contexts", + "number_of_native_contexts", + "peak_malloced_memory", + "total_available_size", + "total_global_handles_size", + "total_heap_size", + "total_heap_size_executable", + "total_physical_size", + "used_global_handles_size", + "used_heap_size", + ]; + assertEquals(Object.keys(s).sort(), keys); + for (const k of keys) { + assertEquals( + typeof (s as unknown as Record)[k], + "number", + ); + } + }, +}); + +Deno.test({ + name: "setFlagsFromString throws", + fn() { + assertThrows(() => setFlagsFromString("--allow_natives_syntax")); + }, +}); -- cgit v1.2.3