diff options
| author | 木杉 <zhmushan@qq.com> | 2019-12-12 13:05:26 +0800 |
|---|---|---|
| committer | Ry Dahl <ry@tinyclouds.org> | 2019-12-12 13:05:26 +0800 |
| commit | 7f27f649cca0e928a422aaa6182988087338e435 (patch) | |
| tree | eab4e39feddd70aa51a1481ffcacdbc775b015e2 /std/http/file_server_test.ts | |
| parent | d146d45861708bcf1879563a545a2c8b8f96bd80 (diff) | |
fix: file_server swallowing permission errors (#3467)
Diffstat (limited to 'std/http/file_server_test.ts')
| -rw-r--r-- | std/http/file_server_test.ts | 26 |
1 files changed, 26 insertions, 0 deletions
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<void> { killFileServer(); } }); + +test(async function servePermissionDenied(): Promise<void> { + 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(); + } +}); |
