diff options
Diffstat (limited to 'cli/tests/unit/net_test.ts')
-rw-r--r-- | cli/tests/unit/net_test.ts | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/cli/tests/unit/net_test.ts b/cli/tests/unit/net_test.ts index 8d004f424..b4a21578e 100644 --- a/cli/tests/unit/net_test.ts +++ b/cli/tests/unit/net_test.ts @@ -8,6 +8,7 @@ import { deferred, delay, execCode, + execCode2, } from "./test_util.ts"; import { join } from "../../../test_util/std/path/mod.ts"; @@ -853,25 +854,23 @@ Deno.test( Deno.test( { permissions: { read: true, run: true, net: true } }, async function netListenUnrefAndRef() { - const p = execCode(` + const p = execCode2(` async function main() { const listener = Deno.listen({ port: 3500 }); listener.unref(); listener.ref(); // This restores 'ref' state of listener + console.log("started"); await listener.accept(); console.log("accepted") } main(); `); - // TODO(kt3k): This is racy. Find a correct way to - // wait for the server to be ready - setTimeout(async () => { - const conn = await Deno.connect({ port: 3500 }); - conn.close(); - }, 200); - const [statusCode, output] = await p; + await p.waitStdoutText("started"); + const conn = await Deno.connect({ port: 3500 }); + conn.close(); + const [statusCode, output] = await p.finished(); assertEquals(statusCode, 0); - assertEquals(output.trim(), "accepted"); + assertEquals(output.trim(), "started\naccepted"); }, ); |