summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2021-01-19 20:11:08 -0800
committerGitHub <noreply@github.com>2021-01-19 20:11:08 -0800
commitb0132e8f9062a37e747306ddcf6ae2274832b652 (patch)
treea441d8735ffb123ba0e13c007e21ecc7893fe4da
parent9312d48e69f3edc951144c6a5e5e3e2cde0d0db9 (diff)
fix(cli): actually stabilize Deno.shutdown() (#9181)
-rw-r--r--cli/tests/unit/net_test.ts31
-rw-r--r--runtime/ops/net.rs3
2 files changed, 2 insertions, 32 deletions
diff --git a/cli/tests/unit/net_test.ts b/cli/tests/unit/net_test.ts
index e1a050c73..99af959cc 100644
--- a/cli/tests/unit/net_test.ts
+++ b/cli/tests/unit/net_test.ts
@@ -515,8 +515,6 @@ unitTest(
unitTest(
{
- // FIXME(bartlomieju)
- ignore: true,
perms: { net: true },
},
async function netCloseWriteSuccess() {
@@ -537,36 +535,11 @@ unitTest(
assertEquals(1, buf[0]);
assertEquals(2, buf[1]);
assertEquals(3, buf[2]);
- // Check write should be closed
+ // Verify that the write end of the socket is closed.
+ // TODO(piscisaureus): assert that thrown error is of a specific type.
await assertThrowsAsync(async () => {
await conn.write(new Uint8Array([1, 2, 3]));
- }, Deno.errors.BrokenPipe);
- closeDeferred.resolve();
- listener.close();
- conn.close();
- },
-);
-
-unitTest(
- {
- // FIXME(bartlomieju)
- ignore: true,
- perms: { net: true },
- },
- async function netDoubleCloseWrite() {
- const addr = { hostname: "127.0.0.1", port: 3500 };
- const listener = Deno.listen(addr);
- const closeDeferred = deferred();
- listener.accept().then(async (conn) => {
- await closeDeferred;
- conn.close();
});
- const conn = await Deno.connect(addr);
- conn.closeWrite(); // closing write
- assertThrows(() => {
- // Duplicated close should throw error
- conn.closeWrite();
- }, Deno.errors.NotConnected);
closeDeferred.resolve();
listener.close();
conn.close();
diff --git a/runtime/ops/net.rs b/runtime/ops/net.rs
index 364f1c576..aa97be00b 100644
--- a/runtime/ops/net.rs
+++ b/runtime/ops/net.rs
@@ -346,10 +346,7 @@ async fn op_shutdown(
args: Value,
_zero_copy: BufVec,
) -> Result<Value, AnyError> {
- super::check_unstable2(&state, "Deno.shutdown");
-
let args: ShutdownArgs = serde_json::from_value(args)?;
-
let rid = args.rid as u32;
let resource = state