From 7f27f649cca0e928a422aaa6182988087338e435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=9D=89?= Date: Thu, 12 Dec 2019 13:05:26 +0800 Subject: fix: file_server swallowing permission errors (#3467) --- std/http/file_server_test.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'std/http/file_server_test.ts') diff --git a/std/http/file_server_test.ts b/std/http/file_server_test.ts index f725b32a2..85785d923 100644 --- a/std/http/file_server_test.ts +++ b/std/http/file_server_test.ts @@ -93,3 +93,29 @@ test(async function serveFallback(): Promise { killFileServer(); } }); + +test(async function servePermissionDenied(): Promise { + const deniedServer = Deno.run({ + args: [Deno.execPath(), "run", "--allow-net", "http/file_server.ts"], + stdout: "piped", + stderr: "piped" + }); + const reader = new TextProtoReader(new BufReader(deniedServer.stdout!)); + const errReader = new TextProtoReader(new BufReader(deniedServer.stderr!)); + const s = await reader.readLine(); + assert(s !== Deno.EOF && s.includes("server listening")); + + try { + await fetch("http://localhost:4500/"); + assertEquals( + await errReader.readLine(), + "run again with the --allow-read flag" + ); + } catch (e) { + throw e; + } finally { + deniedServer.close(); + deniedServer.stdout!.close(); + deniedServer.stderr!.close(); + } +}); -- cgit v1.2.3