mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 20:29:11 +00:00
Crashes while running wrk against
js/deps/https/deno.land/std/http/http_bench.ts
This reverts commit 972ac03858
.
This commit is contained in:
parent
a4551c853e
commit
1af02b405e
3 changed files with 40 additions and 110 deletions
|
@ -1,22 +1,6 @@
|
|||
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
||||
import { testPerm, assert, assertEquals } from "./test_util.ts";
|
||||
|
||||
function deferred(): {
|
||||
resolve: () => void;
|
||||
reject: () => void;
|
||||
promise: Promise<void>;
|
||||
} {
|
||||
let resolve: () => void;
|
||||
let reject: () => void;
|
||||
const promise = new Promise<void>(
|
||||
(a, b): void => {
|
||||
resolve = a;
|
||||
reject = b;
|
||||
}
|
||||
);
|
||||
return { resolve, reject, promise };
|
||||
}
|
||||
|
||||
testPerm({ net: true }, function netListenClose(): void {
|
||||
const listener = Deno.listen("tcp", "127.0.0.1:4500");
|
||||
listener.close();
|
||||
|
@ -88,25 +72,24 @@ testPerm({ net: true }, async function netDialListen(): Promise<void> {
|
|||
conn.close();
|
||||
});
|
||||
|
||||
testPerm({ net: true }, async function netCloseReadSuccess(): Promise<void> {
|
||||
/* TODO Fix broken test.
|
||||
testPerm({ net: true }, async function netCloseReadSuccess() {
|
||||
const addr = "127.0.0.1:4500";
|
||||
const listener = Deno.listen("tcp", addr);
|
||||
const closeDeferred = deferred();
|
||||
const closeReadDeferred = deferred();
|
||||
listener.accept().then(
|
||||
async (conn): Promise<void> => {
|
||||
await closeReadDeferred.promise;
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
const buf = new Uint8Array(1024);
|
||||
const readResult = await conn.read(buf);
|
||||
assertEquals(3, readResult.nread);
|
||||
assertEquals(4, buf[0]);
|
||||
assertEquals(5, buf[1]);
|
||||
assertEquals(6, buf[2]);
|
||||
conn.close();
|
||||
closeDeferred.resolve();
|
||||
}
|
||||
);
|
||||
listener.accept().then(async conn => {
|
||||
await closeReadDeferred.promise;
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
const buf = new Uint8Array(1024);
|
||||
const readResult = await conn.read(buf);
|
||||
assertEquals(3, readResult.nread);
|
||||
assertEquals(4, buf[0]);
|
||||
assertEquals(5, buf[1]);
|
||||
assertEquals(6, buf[2]);
|
||||
conn.close();
|
||||
closeDeferred.resolve();
|
||||
});
|
||||
const conn = await Deno.dial("tcp", addr);
|
||||
conn.closeRead(); // closing read
|
||||
closeReadDeferred.resolve();
|
||||
|
@ -120,18 +103,18 @@ testPerm({ net: true }, async function netCloseReadSuccess(): Promise<void> {
|
|||
listener.close();
|
||||
conn.close();
|
||||
});
|
||||
*/
|
||||
|
||||
testPerm({ net: true }, async function netDoubleCloseRead(): Promise<void> {
|
||||
/* TODO Fix broken test.
|
||||
testPerm({ net: true }, async function netDoubleCloseRead() {
|
||||
const addr = "127.0.0.1:4500";
|
||||
const listener = Deno.listen("tcp", addr);
|
||||
const closeDeferred = deferred();
|
||||
listener.accept().then(
|
||||
async (conn): Promise<void> => {
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
}
|
||||
);
|
||||
listener.accept().then(async conn => {
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
});
|
||||
const conn = await Deno.dial("tcp", addr);
|
||||
conn.closeRead(); // closing read
|
||||
let err;
|
||||
|
@ -148,18 +131,18 @@ testPerm({ net: true }, async function netDoubleCloseRead(): Promise<void> {
|
|||
listener.close();
|
||||
conn.close();
|
||||
});
|
||||
*/
|
||||
|
||||
testPerm({ net: true }, async function netCloseWriteSuccess(): Promise<void> {
|
||||
/* TODO Fix broken test.
|
||||
testPerm({ net: true }, async function netCloseWriteSuccess() {
|
||||
const addr = "127.0.0.1:4500";
|
||||
const listener = Deno.listen("tcp", addr);
|
||||
const closeDeferred = deferred();
|
||||
listener.accept().then(
|
||||
async (conn): Promise<void> => {
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
}
|
||||
);
|
||||
listener.accept().then(async conn => {
|
||||
await conn.write(new Uint8Array([1, 2, 3]));
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
});
|
||||
const conn = await Deno.dial("tcp", addr);
|
||||
conn.closeWrite(); // closing write
|
||||
const buf = new Uint8Array(1024);
|
||||
|
@ -183,17 +166,17 @@ testPerm({ net: true }, async function netCloseWriteSuccess(): Promise<void> {
|
|||
listener.close();
|
||||
conn.close();
|
||||
});
|
||||
*/
|
||||
|
||||
testPerm({ net: true }, async function netDoubleCloseWrite(): Promise<void> {
|
||||
/* TODO Fix broken test.
|
||||
testPerm({ net: true }, async function netDoubleCloseWrite() {
|
||||
const addr = "127.0.0.1:4500";
|
||||
const listener = Deno.listen("tcp", addr);
|
||||
const closeDeferred = deferred();
|
||||
listener.accept().then(
|
||||
async (conn): Promise<void> => {
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
}
|
||||
);
|
||||
listener.accept().then(async conn => {
|
||||
await closeDeferred.promise;
|
||||
conn.close();
|
||||
});
|
||||
const conn = await Deno.dial("tcp", addr);
|
||||
conn.closeWrite(); // closing write
|
||||
let err;
|
||||
|
@ -210,3 +193,4 @@ testPerm({ net: true }, async function netDoubleCloseWrite(): Promise<void> {
|
|||
listener.close();
|
||||
conn.close();
|
||||
});
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue