From 7f5290b6946fececec5ec3acd85e67cd16960b8e Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Fri, 19 May 2023 15:14:40 -0600 Subject: feat(ext/http): ref/unref for server (#19197) Add `ref` and `unref` to return value from `Deno.serve`. Unblocks #3326. --- cli/tests/unit/serve_test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cli/tests/unit/serve_test.ts') diff --git a/cli/tests/unit/serve_test.ts b/cli/tests/unit/serve_test.ts index 0f97e17b8..c26d3f751 100644 --- a/cli/tests/unit/serve_test.ts +++ b/cli/tests/unit/serve_test.ts @@ -10,6 +10,7 @@ import { assertThrows, Deferred, deferred, + execCode, fail, } from "./test_util.ts"; @@ -56,6 +57,21 @@ Deno.test(async function httpServerShutsDownPortBeforeResolving() { listener!.close(); }); +Deno.test( + { permissions: { read: true, run: true } }, + async function httpServerUnref() { + const [statusCode, _output] = await execCode(` + async function main() { + const server = Deno.serve({ port: 4501, handler: () => null }); + server.unref(); + await server.finished; // This doesn't block the program from exiting + } + main(); + `); + assertEquals(statusCode, 0); + }, +); + Deno.test(async function httpServerCanResolveHostnames() { const ac = new AbortController(); const listeningPromise = deferred(); -- cgit v1.2.3