From be9c2fe267083a2995043ddf6228946f1244ab57 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Wed, 16 Feb 2022 16:51:32 +0100 Subject: [PATCH] tests: deflake a bunch of net related tests (#13685) --- cli/tests/integration/mod.rs | 2 +- .../testdata/websocket_server_idletimeout.ts | 2 +- cli/tests/testdata/websocketstream_test.ts | 41 +++++++++++-------- cli/tests/unit/fetch_test.ts | 6 +-- cli/tests/unit/http_test.ts | 6 +-- cli/tests/unit/net_test.ts | 2 +- 6 files changed, 33 insertions(+), 26 deletions(-) diff --git a/cli/tests/integration/mod.rs b/cli/tests/integration/mod.rs index 1c557e3aa3..cc6770472c 100644 --- a/cli/tests/integration/mod.rs +++ b/cli/tests/integration/mod.rs @@ -758,7 +758,7 @@ fn websocket_server_idletimeout() { assert_eq!(msg, "READY"); let req = http::request::Builder::new() - .uri("ws://localhost:4502") + .uri("ws://localhost:4509") .body(()) .unwrap(); let (_ws, _request) = diff --git a/cli/tests/testdata/websocket_server_idletimeout.ts b/cli/tests/testdata/websocket_server_idletimeout.ts index ffd88c3d37..9ae6698cbf 100644 --- a/cli/tests/testdata/websocket_server_idletimeout.ts +++ b/cli/tests/testdata/websocket_server_idletimeout.ts @@ -4,7 +4,7 @@ import { deferred } from "../../../test_util/std/async/deferred.ts"; const errorDeferred = deferred(); const closeDeferred = deferred(); -const listener = Deno.listen({ port: 4502 }); +const listener = Deno.listen({ port: 4509 }); console.log("READY"); const httpConn = Deno.serveHttp(await listener.accept()); const { request, respondWith } = (await httpConn.nextRequest())!; diff --git a/cli/tests/testdata/websocketstream_test.ts b/cli/tests/testdata/websocketstream_test.ts index 254ffd4792..db9d1a094e 100644 --- a/cli/tests/testdata/websocketstream_test.ts +++ b/cli/tests/testdata/websocketstream_test.ts @@ -140,22 +140,26 @@ Deno.test("aborting immediately with a primitive as reason throws that primitive }); Deno.test("headers", async () => { - const listener = Deno.listen({ port: 4501 }); + const listener = Deno.listen({ port: 4512 }); const promise = (async () => { - const httpConn = Deno.serveHttp(await listener.accept()); + const conn = await listener.accept(); + const httpConn = Deno.serveHttp(conn); const { request, respondWith } = (await httpConn.nextRequest())!; assertEquals(request.headers.get("x-some-header"), "foo"); - const { - response, - socket, - } = Deno.upgradeWebSocket(request); + const { response, socket } = Deno.upgradeWebSocket(request); socket.onopen = () => socket.close(); + const p = new Promise((resolve) => { + socket.onopen = () => socket.close(); + socket.onclose = () => resolve(); + }); await respondWith(response); + await p; })(); - const ws = new WebSocketStream("ws://localhost:4501", { + const ws = new WebSocketStream("ws://localhost:4512", { headers: [["x-some-header", "foo"]], }); + await ws.connection; await promise; await ws.closed; listener.close(); @@ -172,24 +176,27 @@ Deno.test("forbidden headers", async () => { "connection", ]; - const listener = Deno.listen({ port: 4501 }); + const listener = Deno.listen({ port: 4512 }); const promise = (async () => { - const httpConn = Deno.serveHttp(await listener.accept()); + const conn = await listener.accept(); + const httpConn = Deno.serveHttp(conn); const { request, respondWith } = (await httpConn.nextRequest())!; - for (const header of request.headers.keys()) { - assertNotEquals(header, "foo"); + for (const [key] of request.headers) { + assertNotEquals(key, "foo"); } - const { - response, - socket, - } = Deno.upgradeWebSocket(request); - socket.onopen = () => socket.close(); + const { response, socket } = Deno.upgradeWebSocket(request); + const p = new Promise((resolve) => { + socket.onopen = () => socket.close(); + socket.onclose = () => resolve(); + }); await respondWith(response); + await p; })(); - const ws = new WebSocketStream("ws://localhost:4501", { + const ws = new WebSocketStream("ws://localhost:4512", { headers: forbiddenHeaders.map((header) => [header, "foo"]), }); + await ws.connection; await promise; await ws.closed; listener.close(); diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts index 938df119dc..3b2d765a5c 100644 --- a/cli/tests/unit/fetch_test.ts +++ b/cli/tests/unit/fetch_test.ts @@ -656,7 +656,7 @@ Deno.test( permissions: { net: true }, }, async function fetchPostBodyString() { - const addr = "127.0.0.1:4502"; + const addr = "127.0.0.1:4511"; const bufPromise = bufferServer(addr); const body = "hello world"; const response = await fetch(`http://${addr}/blah`, { @@ -1039,7 +1039,7 @@ Deno.test( permissions: { net: true }, }, async function fetchPostBodyReadableStream() { - const addr = "127.0.0.1:4502"; + const addr = "127.0.0.1:4511"; const bufPromise = bufferServer(addr); const stream = new TransformStream(); const writer = stream.writable.getWriter(); @@ -1126,7 +1126,7 @@ Deno.test( async function fetchFilterOutCustomHostHeader(): Promise< void > { - const addr = "127.0.0.1:4502"; + const addr = "127.0.0.1:4511"; const listener = returnHostHeaderServer(addr); const response = await fetch(`http://${addr}/`, { headers: { "Host": "example.com" }, diff --git a/cli/tests/unit/http_test.ts b/cli/tests/unit/http_test.ts index 8ff31b5f73..2682ccee6b 100644 --- a/cli/tests/unit/http_test.ts +++ b/cli/tests/unit/http_test.ts @@ -926,11 +926,11 @@ Deno.test( let httpConn: Deno.HttpConn; const promise = (async () => { - listener = Deno.listen({ port: 4502 }); + listener = Deno.listen({ port: 4508 }); for await (const conn of listener) { httpConn = Deno.serveHttp(conn); for await (const { request, respondWith } of httpConn) { - assertEquals(new URL(request.url).href, "http://127.0.0.1:4502/"); + assertEquals(new URL(request.url).href, "http://127.0.0.1:4508/"); // not reading request body on purpose respondWith(new Response("ok")); } @@ -938,7 +938,7 @@ Deno.test( })(); const resourcesBefore = Deno.resources(); - const response = await fetch("http://127.0.0.1:4502", { + const response = await fetch("http://127.0.0.1:4508", { method: "POST", body: "hello world", }); diff --git a/cli/tests/unit/net_test.ts b/cli/tests/unit/net_test.ts index 3953d58660..29e823b104 100644 --- a/cli/tests/unit/net_test.ts +++ b/cli/tests/unit/net_test.ts @@ -156,7 +156,7 @@ Deno.test( Deno.test( { permissions: { net: true } }, async function netTcpConcurrentAccept() { - const listener = Deno.listen({ port: 4502 }); + const listener = Deno.listen({ port: 4510 }); let acceptErrCount = 0; const checkErr = (e: Error) => { if (e.message === "Listener has been closed") {