deno/cli/lsp/testing
Matt Mastracci 5193834cf2
refactor(cli): clean up test runner channels (#22422)
Gets us closer to solving #20707.

Rewrites the `TestEventSender`:

- Allow for explicit creation of multiple streams. This will allow for
one-std{out,err}-per-worker
- All test events are received along with a worker ID, allowing for
eventual, proper parallel threading of test events.
 
In theory this should open up proper interleaving of test output,
however that is left for a future PR.

I had some plans for a better performing synchronization primitive, but
the inter-thread communication is tricky. This does, however, speed up
the processing of large numbers of tests 15-25% (possibly even more on
100,000+).

Before

```
ok | 1000 passed | 0 failed (32ms)
ok | 10000 passed | 0 failed (276ms)
```

After

```
ok | 1000 passed | 0 failed (25ms)
ok | 10000 passed | 0 failed (230ms)
```
2024-02-23 11:11:15 -07:00
..
collectors.rs fix: upgrade to deno_ast 0.33 (#22341) 2024-02-09 01:40:26 +00:00
definitions.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
execution.rs refactor(cli): clean up test runner channels (#22422) 2024-02-23 11:11:15 -07:00
lsp_custom.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
mod.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
server.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00