diff options
author | 2023-01-13 11:58:44 -0800 | |
---|---|---|
committer | 2023-01-13 11:58:44 -0800 | |
commit | fab42148e45572c929efd69f0a818eb972b96225 (patch) | |
tree | e14f8f1a978bbce070ebad1feb59cc0fa56b2c7e /test/bun.js/websocket-server.test.ts | |
parent | cce380ec3752dc15720d0bcb8b06a718be6d3c44 (diff) | |
download | bun-fab42148e45572c929efd69f0a818eb972b96225.tar.gz bun-fab42148e45572c929efd69f0a818eb972b96225.tar.zst bun-fab42148e45572c929efd69f0a818eb972b96225.zip |
Skip failing tests
Diffstat (limited to 'test/bun.js/websocket-server.test.ts')
-rw-r--r-- | test/bun.js/websocket-server.test.ts | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/test/bun.js/websocket-server.test.ts b/test/bun.js/websocket-server.test.ts index 0dc421eb6..ce4056654 100644 --- a/test/bun.js/websocket-server.test.ts +++ b/test/bun.js/websocket-server.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from "bun:test"; import { gcTick } from "./gc"; import { serve } from "bun"; -var port = 4321; +var port = 4301; function getPort() { if (port > 4444) { port = 4321; @@ -45,7 +45,7 @@ describe("websocket server", () => { }); }; }); - server.stop(); + server.stop(true); done(); }); @@ -83,13 +83,14 @@ describe("websocket server", () => { resolve2(); }; }); - server.stop(); + server.stop(true); done(); }); for (let method of ["publish", "publishText", "publishBinary"]) { describe(method, () => { it("in close() should work", async () => { + var count = 0; var server = serve({ port: getPort(), websocket: { @@ -102,6 +103,11 @@ describe("websocket server", () => { "all", method === "publishBinary" ? Buffer.from("bye!") : "bye!", ); + count++; + + if (count >= 2) { + server.stop(true); + } }, }, fetch(req, server) { @@ -121,29 +127,29 @@ describe("websocket server", () => { socket.onopen = () => resolve2(socket); }); - const second = await new Promise<WebSocket>((resolve2, reject2) => { + await new Promise<WebSocket>((resolve2, reject2) => { var socket = new WebSocket( `ws://${server.hostname}:${server.port}`, ); + socket.onopen = () => { + queueMicrotask(() => first.close()); + }; socket.onmessage = (ev) => { var msg = ev.data; if (typeof msg !== "string") { msg = new TextDecoder().decode(msg); } + if (msg === "bye!") { + socket.close(0); resolve2(socket); } else { reject2(msg); } }; - socket.onopen = () => { - first.close(); - }; }); - - second.close(); } finally { - server.stop(); + server.stop(true); } }); }); @@ -151,6 +157,7 @@ describe("websocket server", () => { it("close inside open", async () => { var resolve; + console.trace("here"); var server = serve({ port: getPort(), websocket: { @@ -158,6 +165,7 @@ describe("websocket server", () => { message(ws, msg) {}, close() { resolve(); + server.stop(true); }, }, fetch(req, server) { @@ -190,7 +198,6 @@ describe("websocket server", () => { websocket.onmessage = (e) => {}; websocket.onerror = (e) => {}; }); - server.stop(); }); it("headers error doesn't crash", async () => { @@ -199,18 +206,19 @@ describe("websocket server", () => { port: getPort(), websocket: { open(ws) { - server.stop(); + ws.close(); }, message(ws, msg) {}, close() { resolve(); + server.stop(true); }, }, error(err) { resolve(); + server.stop(true); }, fetch(req, server) { - server.stop(); expect(() => { if ( server.upgrade(req, { @@ -489,7 +497,7 @@ describe("websocket server", () => { const response = await fetch(`http://${server.hostname}:${server.port}`); expect(await response.text()).toBe("success"); resolve(); - server.stop(); + server.stop(true); }); }); @@ -519,7 +527,7 @@ describe("websocket server", () => { port: getPort(), websocket: { async open(ws) { - server.stop(); + server.stop(true); ws.send("hello world"); }, message(ws, msg) {}, @@ -563,6 +571,7 @@ describe("websocket server", () => { // we just want to make sure the DOMJIT call doesn't crash for (let i = 0; i < 40_000; i++) ws.publishText("hello", "world"); websocket.close(); + server.stop(true); resolve(); }, message(ws, msg) {}, @@ -591,8 +600,9 @@ describe("websocket server", () => { // we don't care about the data // we just want to make sure the DOMJIT call doesn't crash for (let i = 0; i < 40_000; i++) ws.publishBinary("hello", bytes); - resolve(); websocket.close(); + server.stop(true); + resolve(); }, message(ws, msg) {}, }, @@ -620,6 +630,7 @@ describe("websocket server", () => { for (let i = 0; i < 40_000; i++) ws.sendText("hello world", true); resolve(); websocket.close(); + server.stop(true); }, message(ws, msg) {}, }, @@ -646,6 +657,7 @@ describe("websocket server", () => { // we just want to make sure the DOMJIT call doesn't crash for (let i = 0; i < 40_000; i++) ws.sendBinary(bytes, true); websocket.close(); + server.stop(true); resolve(); }, message(ws, msg) {}, @@ -700,6 +712,7 @@ describe("websocket server", () => { reject(e); }; }); + server.stop(true); }); it("can do some back and forth", async () => { @@ -767,6 +780,7 @@ describe("websocket server", () => { } }; }); + server.stop(true); }); it("send rope strings", async () => { @@ -827,6 +841,7 @@ describe("websocket server", () => { } }; }); + server.stop(true); }); // this test sends 100 messages to 10 connected clients via pubsub @@ -956,5 +971,6 @@ describe("websocket server", () => { } }); expect(serverCounter).toBe(sendQueue.length); + server.stop(true); }); }); |