summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node
AgeCommit message (Collapse)Author
2023-09-16perf: improve async op santizer speed and accuracy (#20501)Luca Casonato
This commit improves async op sanitizer speed by only delaying metrics collection if there are pending ops. This results in a speedup of around 30% for small CPU bound unit tests. It performs this check and possible delay on every collection now, fixing an issue with parent test leaks into steps.
2023-09-15feat(ext/node): http2.connect() API (#19671)Bartek Iwańczuk
This commit improves compatibility of "node:http2" module by polyfilling "connect" method and "ClientHttp2Session" class. Basic operations like streaming, header and trailer handling are working correctly. Refing/unrefing is still a TODO and "npm:grpc-js/grpc" is not yet working correctly. --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-09-08fix(ext/node/ops/zlib/brotli): Allow decompressing more than 4096 bytes (#20301)Curran McConnell
Fixes https://github.com/denoland/deno/issues/19816 In that issue, I suggest switching over the other brotli functionality to the Rust API provided by the `brotli` crate. Here, I only do that with the `brotli_decompress` function to fix the bug with buffers longer than 4096 bytes.
2023-09-06fix(ext/node): implement AES GCM cipher (#20368)Divy Srivastava
Adds support for AES-GCM 128/256 bit keys in `node:crypto` and `setAAD()`, `setAuthTag()` and `getAuthTag()` Uses https://github.com/littledivy/aead-gcm-stream Fixes https://github.com/denoland/deno/issues/19836 https://github.com/denoland/deno/issues/20353
2023-09-05fix(node/child_process): don't crash on undefined/null value of an env var ↵zuisong
(#20378) Fixes #20373 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-08-29fix(node/http): don't leak resources on destroyed request (#20040)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19828
2023-08-29fix(ext/node): fix argv[1] in Worker (#20305)Yoshiya Hinosawa
2023-08-28fix(ext/node): shared global buffer unlock correctness fix (#20314)Matt Mastracci
The fix for #20188 was not entirely correct -- we were unlocking the global buffer incorrectly. This PR introduces a lock state that ensures we only unlock a lock we have taken out.
2023-08-26fix(node): propagate create cipher errors (#20280)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/19002
2023-08-22fix(ext/node): simultaneous reads can leak into each other (#20223)Matt Mastracci
Reported in #20188 This was caused by re-use of a global buffer `BUF` during simultaneous async reads.
2023-08-18fix(node/http): emit error when addr in use (#20200)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/20186
2023-08-17feat(ext/web): resourceForReadableStream (#20180)Matt Mastracci
Extracted from fast streams work. This is a resource wrapper for `ReadableStream`, allowing us to treat all `ReadableStream` instances as resources, and remove special paths in both `fetch` and `serve`. Performance with a ReadableStream response yields ~18% improvement: ``` return new Response(new ReadableStream({ start(controller) { controller.enqueue(new Uint8Array([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100])); controller.close(); } }) ``` This patch: ``` 12:36 $ third_party/prebuilt/mac/wrk http://localhost:8080 Running 10s test @ http://localhost:8080 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 99.96us 100.03us 6.65ms 98.84% Req/Sec 47.73k 2.43k 51.02k 89.11% 959308 requests in 10.10s, 117.10MB read Requests/sec: 94978.71 Transfer/sec: 11.59MB ``` main: ``` Running 10s test @ http://localhost:8080 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 163.03us 685.51us 19.73ms 99.27% Req/Sec 39.50k 3.98k 66.11k 95.52% 789582 requests in 10.10s, 82.83MB read Requests/sec: 78182.65 Transfer/sec: 8.20MB ```
2023-08-11fix(node): implement TLSSocket._start (#20120)Divy Srivastava
Closes https://github.com/denoland/deno/issues/19983 Closes https://github.com/denoland/deno/issues/18303 Closes https://github.com/denoland/deno/issues/16681 Closes https://github.com/denoland/deno/issues/19978
2023-08-11fix(ext/node): support dictionary option in zlib init (#20035)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/19540
2023-08-11fix(node): object keys in publicEncrypt (#20128)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/19935
2023-08-04fix(node): polyfill process.title (#20044)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19777
2023-08-04fix(node): repl._builtinLibs (#20046)Bartek Iwańczuk
Ref https://github.com/denoland/deno/issues/19733
2023-07-31feat(node/os): implement getPriority, setPriority & userInfo (#19370)Leo Kettmeir
Takes #4202 over Closes #17850 --------- Co-authored-by: ecyrbe <ecyrbe@gmail.com>
2023-07-31chore(cli): Fix test that locks up on some M2 macs (#19989)Matt Mastracci
I'm not sure why, but sending SIGABRT to Deno on my machine as part of this test causes it to lock up very badly, leaving it in an unkillable `UE+` state. This showed up after #19333, but was not caused by it.
2023-07-25fix(node): add writable and readable fields to FakeSocket (#19931)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19927
2023-07-21fix(node/http): add encrypted field to FakeSocket (#19886)Leo Kettmeir
Fixes #19557
2023-07-19fix(node/http): call callback after request is sent (#19871)Leo Kettmeir
Fixes #19762
2023-07-19fix(node/net): Server connection callback include socket value (#19779)Leo Kettmeir
2023-07-17fix(ext/node): fix stream/promises export (#19820)await-ovo
2023-07-11fix(node/http): add destroy to FakeSocket (#19796)Leo Kettmeir
Closes #19782
2023-07-11fix(node/http): allow callback in first argument of end call (#19778)Leo Kettmeir
Closes #19762
2023-07-10fix(node/http): server use FakeSocket and add end method (#19660)Leo Kettmeir
Fixes #19324
2023-07-05test(ext/node): clean up node:path test cases (#19610)Yoshiya Hinosawa
2023-07-04fix(ext/node): Define performance.timeOrigin as getter property (#19714)await-ovo
2023-07-04fix: bump default @types/node version range to 18.16.19 (#19706)David Sherret
2023-07-04tests: deflake _fs_read_test.ts again (#19705)Bartek Iwańczuk
2023-07-03tests: deflake _fs_read_test.ts (#19699)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19632
2023-07-02fix(ext/node): ignore cancelled timer when node timer refresh (#19637)await-ovo
For timers that have already executed clearTimeout, there is no need to recreate a new timer when refresh is executed again.
2023-07-02refactor: rename built-in node modules from ext:deno_node/ to node: (#19680)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19510
2023-06-30test(ext/node): add perf_hooks test (#19648)Hans
2023-06-30test(ext/node): added unit test for net node modules compat from std (#19663)Kaique da Silva
2023-06-30test(ext/node): added assertion errors test (#19609)Kaique da Silva
2023-06-30fix(node/http): add setKeepAlive to FakeSocket (#19659)Leo Kettmeir
Closes #19535
2023-06-27test(ext/node): port crypto_test.ts from deno_std (#19561)Felipe Baltor
2023-06-26chore: fix typos (#19572)Martin Fischer
2023-06-26test(ext/node): add fs read unit tests (#19588)Kaique da Silva
2023-06-24fix(ext/node): support brotli APIs (#19223)Divy Srivastava
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-06-22test(ext/node): port buffer_test.ts from deno_std (#19556)Felipe Baltor
2023-06-22test(ext/node): add fs open unit test from std (#19505)Kaique da Silva
2023-06-19test(ext/node): port _fs_writeFile_test.ts from deno_std (#19524)Felipe Baltor
2023-06-16fix(ext/node): remove fromFileUrl from "node:path" (#19504)Ryan Clements
2023-06-15fix(node): Worker constructor doesn't check type: module of package.json ↵Vedant Pandey
(#19480)
2023-06-14chore(ext/node): bring back changes to ClientRequest.onSocket (#19509)Leo Kettmeir
Reverts denoland/deno#19426
2023-06-13fix(node/buffer): make slice be the same as subarray (#19481)Leo Kettmeir
2023-06-13fix(ext/http): replace await Deno.serve with await Deno.serve().finished ↵Matt Mastracci
(#19485) We have a bunch of these to clean up after we changed the API.