summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/test/captured_output.ts
blob: 2e6aec948bc17f8df091b2b932bfe3b3a57cc58e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Deno.test("output", async () => {
  const p = Deno.run({
    cmd: [Deno.execPath(), "eval", "console.log(0); console.error(1);"],
  });
  await p.status();
  await p.close();
  Deno.spawnSync(Deno.execPath(), {
    args: ["eval", "console.log(2); console.error(3);"],
    stdout: "inherit",
    stderr: "inherit",
  });
  await Deno.spawn(Deno.execPath(), {
    args: ["eval", "console.log(4); console.error(5);"],
    stdout: "inherit",
    stderr: "inherit",
  });
  const c = await Deno.spawnChild(Deno.execPath(), {
    args: ["eval", "console.log(6); console.error(7);"],
    stdout: "inherit",
    stderr: "inherit",
  });
  await c.status;
  const worker = new Worker(
    import.meta.resolve("./captured_output.worker.js"),
    { type: "module" },
  );

  // ensure worker output is captured
  const response = new Promise<void>((resolve) =>
    worker.onmessage = () => resolve()
  );
  worker.postMessage({});
  await response;
  worker.terminate();
});