From 64bd2768f7794408a9e8b7ba14edc990f3e2d0de Mon Sep 17 00:00:00 2001 From: uki00a Date: Sun, 31 May 2020 03:48:26 +0900 Subject: fix(#4850): Deno.remove() fails to remove unix socket (#5967) --- cli/tests/unit/remove_test.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'cli/tests') diff --git a/cli/tests/unit/remove_test.ts b/cli/tests/unit/remove_test.ts index 35e5c821e..5d293ec51 100644 --- a/cli/tests/unit/remove_test.ts +++ b/cli/tests/unit/remove_test.ts @@ -460,6 +460,31 @@ unitTest({ perms: { write: false } }, async function removeAllPerm(): Promise< assertEquals(err.name, "PermissionDenied"); }); +unitTest( + { + ignore: Deno.build.os === "windows", + perms: { write: true, read: true }, + }, + async function removeUnixSocketSuccess(): Promise { + for (const method of ["remove", "removeSync"] as const) { + // MAKE TEMPORARY UNIX SOCKET + const path = Deno.makeTempDirSync() + "/test.sock"; + const listener = Deno.listen({ transport: "unix", path }); + listener.close(); + Deno.statSync(path); // check if unix socket exists + + await Deno[method](path); + let err; + try { + Deno.statSync(path); + } catch (e) { + err = e; + } + assert(err instanceof Deno.errors.NotFound); + } + } +); + if (Deno.build.os === "windows") { unitTest( { perms: { run: true, write: true, read: true } }, -- cgit v1.2.3