summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/test/captured_output.ts
blob: 905156fd41162f998c68f965f5bfe1ed24ad08f7 (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
36
Deno.test("output", async () => {
  // deno-lint-ignore no-deprecated-deno-api
  const p = Deno.run({
    cmd: [Deno.execPath(), "eval", "console.log(0); console.error(1);"],
  });
  await p.status();
  await p.close();
  new Deno.Command(Deno.execPath(), {
    args: ["eval", "console.log(2); console.error(3);"],
    stdout: "inherit",
    stderr: "inherit",
  }).outputSync();
  await new Deno.Command(Deno.execPath(), {
    args: ["eval", "console.log(4); console.error(5);"],
    stdout: "inherit",
    stderr: "inherit",
  }).output();
  const c = new Deno.Command(Deno.execPath(), {
    args: ["eval", "console.log(6); console.error(7);"],
    stdout: "inherit",
    stderr: "inherit",
  }).spawn();
  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();
});