summaryrefslogtreecommitdiff
path: root/cli/tests/unit/net_test.ts
AgeCommit message (Collapse)Author
2024-02-10chore: move cli/tests/ -> tests/ (#22369)Matt Mastracci
This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit.
2024-01-01chore: update copyright to 2024 (#21753)David Sherret
2023-11-10chore(cli): Migrate some unit tests to "Promise.withResolvers()" (#21128)Tareque Md Hanif
Migrate to use `Promise.withResolvers()` instead of `deferred` in some of the tests in `cli/tests/unit/`. Issue: #21041
2023-11-01feat: disposable Deno resources (#20845)Luca Casonato
This commit implements Symbol.dispose and Symbol.asyncDispose for the relevant resources. Closes #20839 --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-10-04feat(unstable): add unix domain socket support to Deno.serve (#20759)Yoshiya Hinosawa
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-07-25fix(ext/net): fix string port number handling in listen (#19921)Yoshiya Hinosawa
While string `port` is not allowed in typing, it seems we used to support that and now it's broken. ref: https://github.com/denoland/deno/issues/10064#issuecomment-1637427260 This PR restores the support of string port number in `listen` and `listenTls`
2023-05-22chore(cli): One Rust test per JS and Node unit test file (#19199)Matt Mastracci
This runs our `js_unit_tests` and `node_unit_tests` in parallel, one rust test per JS unit test file. Some of our JS tests don't like running in parallel due to port requirements, so this also makes those use a specific port-per-file. This does not attempt to make the node-compat tests work.
2023-03-20feat(ext/net): Add multicasting APIs to DatagramConn (#10706) (#17811)Sam Gwilym
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-28feat(unstable): Add Deno.Conn.ref()/unref() (#17170)Bartek Iwańczuk
This commit adds "Deno.Conn.ref()" and "Deno.Conn.unref()" methods. These methods can be used to make connection block or not block the event loop from finishing. Refing/unrefing only influences "read" operations - ie. scheduling writes to a connection _do_ keep event loop alive. Required for https://github.com/denoland/deno/issues/16710
2022-12-02chore: fix flaky netListenUnrefAndRef (#16892)David Sherret
Closes #16890
2022-10-26feat(ext/net): reusePort for TCP on Linux (#16398)Luca Casonato
2022-10-24feat(ext/net): add reuseAddress option for UDP (#13849)Gianluca Oldani
This commit adds a `reuseAddress` option for UDP sockets. When this option is enabled, one can listen on an address even though it is already being listened on from a different process or thread. The new socket will steal the address from the existing socket. On Windows and Linux this uses the `SO_REUSEADDR` option, while on other Unixes this is done with `SO_REUSEPORT`. This behavior aligns with what libuv does. TCP sockets still unconditionally set the `SO_REUSEADDR` flag - this behavior matches Node.js and Go. This PR does not change this behaviour. Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-10-24fix(ext/net): don't remove sockets on unix listen (#16394)Luca Casonato
When listening on a UNIX socket path, Deno currently tries to unlink this path prior to actually listening. The implementation of this behaviour is VERY racy, involves 2 additional syscalls, and does not match the behaviour of any other runtime (Node.js, Go, Rust, etc). This commit removes this behaviour. If a user wants to listen on an existing socket, they must now unlink the file themselves prior to listening. This change in behaviour only impacts --unstable APIs, so it is not a breaking change.
2022-09-19refactor: move out test files from root testdata directory into sub ↵David Sherret
directories (#15949)
2022-03-23feat(unstable): add ref/unref to Listener (#13961)Yoshiya Hinosawa
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-20fix: actually don't inherit runtime permissions (#14024)Luca Casonato
2022-02-16tests: deflake a bunch of net related tests (#13685)Luca Casonato
2022-02-15feat(runtime): web streams in fs & net APIs (#13615)Luca Casonato
This commit adds `readable` and `writable` properties to `Deno.File` and `Deno.Conn`. This makes it very simple to use files and network sockets with fetch or the native HTTP server.
2022-01-31feat(ext/net): Add Conn.setNoDelay and Conn.setKeepAlive (#13103)Yosi Pramajaya
2022-01-20chore: update copyright year (#13434)Yoshiya Hinosawa
2021-12-14fix(ext/net): make unix and tcp identical on close (#13075)Ben Noordhuis
std/http/server knows how to handle "Listener has been closed" exceptions but not "operation canceled" errors. Make "unix" listen sockets throw the same exception as "tcp" listen sockets when the socket is closed and has a pending accept operation. There is still a discrepancy when multiple accept requests are posted but that's probably a less visible issue and something for another day. Fixes #13033
2021-11-29feat(ext/net): enable sending to broadcast address (#12860)Michael Busby
You can now send UDP datagrams to the broadcast address.
2021-11-23refactor: remove "unitTest" wrapper from cli/tests/unit (#12750)Bartek Iwańczuk
2021-10-17fix(core): poll async ops eagerly (#12385)Bert Belder
Currently all async ops are polled lazily, which means that op initialization code is postponed until control is yielded to the event loop. This has some weird consequences, e.g. ```js let listener = Deno.listen(...); let conn_promise = listener.accept(); listener.close(); // `BadResource` is thrown. A reasonable error would be `Interrupted`. let conn = await conn_promise; ``` JavaScript promises are expected to be eagerly evaluated. This patch makes ops actually do that.
2021-10-02fix(ext/net): should not panic when listening to unix abstract address (#12300)Ahab
2021-09-23test(cli): align unit test permissions with runtime test permissions (#12189)Casper Beyer
2021-09-22chore: replace calls to assertThrowsAsync with assertRejects (#12176)Casper Beyer
2021-08-25chore(tests): improve unit tests using `deferred` (#11842)David Sherret
2021-08-16chore(cli/tests): disable flaky test on macos ci (#11726)Ben Noordhuis
Refs #11580.
2021-08-05refactor(cli/tests): remove unnecessary void return types (#11577)Leo K
2021-08-04chore: refactor `netHangsOnClose` test to not use `deferred` (#11585)David Sherret
2021-07-31chore: fix failing netTcpListenCloseWhileIterating test on some machines ↵David Sherret
(#11552)
2021-06-25test(cli): refactor the usages of delay (#11098)Yoshiya Hinosawa
This PR refactors the usages of delay utility in js unit testing. The same utiliy is defined in several places with different names. This PR replaces those usages with the one provided in std/async/delay.ts to improve the readability and consistency of test code.
2021-04-20revert: Conn type changes in #10012 and #10061 (#10255)Kitson Kelly
Fixes #10200 (again) This reverts commit 9c7c9a35c12625bd4793c21539391d6b08d17e73 and a8057e3e06962a8d7c6330a085704bb4493eed04.
2021-04-13feat(cli/dts): stricter typings for Listener & Conn (#10012)crowlKats
2021-04-09chore: upgrade dependencies (#10094)Bartek Iwańczuk
This commit upgrades: - swc_ecmascript - swc_bundler - deno_doc - deno_lint - dprint-plugin-typescript
2021-01-25Revert "tests: enable wpt for url (#9046)" (#9264)Luca Casonato
This reverts commit 66e99d349b31f5cd30b868d80ebdab6ba749fd96.
2021-01-24tests: enable wpt for url (#9046)Luca Casonato
2021-01-19fix(cli): actually stabilize Deno.shutdown() (#9181)Bert Belder
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka
2020-12-16refactor: rewrite ops to use ResourceTable2 (#8512)Bartek Iwańczuk
This commit migrates all ops to use new resource table and "AsyncRefCell". Old implementation of resource table was completely removed and all code referencing it was updated to use new system.
2020-11-27test(cli): fix brittle network permission test (#8526)William Perron
2020-11-27fix(cli/ops/net): add write permissions for unixpackets datagrams & unix ↵William Perron
socket (#8511) Fixes #7781
2020-11-26refactor(cli/tests): replace createResolvable with deferred (#8507)crowlKats
2020-11-24feat(cli): update to TypeScript 4.1 (#7573)Kitson Kelly
2020-09-27fix: net listen crashes on explicit undefined hostname (#7706)Giorgi Rostomashvili
2020-09-27feat(fmt): Sort named import and export specifiers (#7711)David Sherret
2020-07-14Use dprint for internal formatting (#6682)David Sherret