1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/ext/io
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
..
12_io.js feat(fs): Deno.FsFile.{isTerminal,setRaw}() (#22234) 2024-02-18 07:27:44 -07:00
Cargo.toml 1.41.0 (#22524) 2024-02-22 02:44:05 +01:00
fs.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
lib.rs refactor(cli): clean up test runner channels (#22422) 2024-02-23 11:11:15 -07:00
pipe.rs refactor(cli): clean up test runner channels (#22422) 2024-02-23 11:11:15 -07:00
README.md refactor(runtime): factor out deno_io extension crate (#18001) 2023-03-05 00:39:48 +00:00
winpipe.rs chore(io): Add a cross-platform unidirectional pipe implementation (#22522) 2024-02-22 01:00:57 +00:00

deno_io

This crate provides IO primitives for other Deno extensions, this includes stdio streams and abstraction over File System files.