summaryrefslogtreecommitdiff
path: root/cli/tests/unit/net_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/net_test.ts')
-rw-r--r--cli/tests/unit/net_test.ts17
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");
},
);