const { test } = require('node:test'); const assert = require('node:assert'); const WebSocket = require('ws'); const { startServer } = require('../server'); test('stop() resolves even while an overlay WebSocket client is connected', async () => { const handle = await startServer({ port: 9300 }); const client = new WebSocket(`ws://127.0.0.1:${handle.port}`); client.on('error', () => {}); await new Promise((resolve) => client.on('open', resolve)); let timer; const result = await Promise.race([ handle.stop().then(() => 'stopped'), new Promise((resolve) => { timer = setTimeout(() => resolve('hung'), 2000); }), ]); clearTimeout(timer); assert.strictEqual(result, 'stopped'); });