summaryrefslogtreecommitdiff
path: root/tests/napi/cleanup_hook_test.js
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2024-02-12 13:46:50 -0700
committerGitHub <noreply@github.com>2024-02-12 13:46:50 -0700
commitf60720090c7bd8cdf91d7aebd0c42e01c86b3b83 (patch)
tree9becb7ff7e40d37769601fa049beccd101d58a98 /tests/napi/cleanup_hook_test.js
parentbd1358efab8ba7339a8e70034315fa7da840292e (diff)
chore: move test_ffi and test_nap to tests/ [WIP] (#22394)
Moving some additional NAPI and. FFI tests out of the tree root.
Diffstat (limited to 'tests/napi/cleanup_hook_test.js')
-rw-r--r--tests/napi/cleanup_hook_test.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/napi/cleanup_hook_test.js b/tests/napi/cleanup_hook_test.js
new file mode 100644
index 000000000..0d83bc5b4
--- /dev/null
+++ b/tests/napi/cleanup_hook_test.js
@@ -0,0 +1,36 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals, loadTestLibrary } from "./common.js";
+
+const properties = loadTestLibrary();
+
+if (import.meta.main) {
+ properties.installCleanupHook();
+ console.log("installed cleanup hook");
+} else {
+ Deno.test("napi cleanup hook", async () => {
+ const { stdout, stderr, code } = await new Deno.Command(Deno.execPath(), {
+ args: [
+ "run",
+ "--config",
+ Deno.realPathSync("../config/deno.json"),
+ "--no-lock",
+ "--allow-read",
+ "--allow-run",
+ "--allow-ffi",
+ "--unstable-ffi",
+ import.meta.url,
+ ],
+ }).output();
+
+ assertEquals(new TextDecoder().decode(stderr), "");
+ assertEquals(code, 0);
+
+ const stdoutText = new TextDecoder().decode(stdout);
+ const stdoutLines = stdoutText.split("\n");
+ assertEquals(stdoutLines.length, 4);
+ assertEquals(stdoutLines[0], "installed cleanup hook");
+ assertEquals(stdoutLines[1], "cleanup(18)");
+ assertEquals(stdoutLines[2], "cleanup(42)");
+ });
+}