summaryrefslogtreecommitdiff
path: root/cli/tests
AgeCommit message (Collapse)Author
2023-03-30chore(ext/node): run node compat parallel tests in core number concurrency ↵Yoshiya Hinosawa
(#18505) We currently run the all test cases in `parallel` category at the same time, which invokes hundreds process at the same time, and that seems causing some flakiness in CI. (maybe related to #18487) This PR limits the concurrency to the number of cpu cores. This is more aligned to how Node.js run their `parallel` test in their repository. https://github.com/nodejs/node/blob/42c4a359525f70c322c0df0eac188fa2b05c3f53/Makefile#L356
2023-03-30test: fix test_check_origin_not_supported (#18504)Bartek Iwańczuk
Merge of dotland and dotcom caused this test to fail.
2023-03-29test(ext/node): add timers_tests.ts from std/node (#18472)Andrew Nester
2023-03-29test(ext/node): add string_decoder_test.ts from std/node (#18473)Andrew Nester
2023-03-29chore: fix flaky pty_internal_repl (#18486)David Sherret
2023-03-28test(lsp): make lsp_completions_auto_import more robust (#18482)Bartek Iwańczuk
A completely unrelated change in https://github.com/denoland/deno/pull/18286 threw of this test. These changes make it more robust and easier to update in such cases.
2023-03-28chore: restore pty tests and make them run on the Linux CI (#18424)David Sherret
1. Rewrites the tests to be more back and forth rather than getting the output all at once (which I believe was causing the hangs on linux and maybe mac) 2. Runs the pty tests on the linux ci. 3. Fixes a bunch of tests that were just wrong. 4. Adds timeouts on the pty tests.
2023-03-28refactor: move shared library tests to their own file (#18479)Ryan Dahl
2023-03-28test(node/fs): add fs.Dir tests (#18463)Kamal Singh
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-03-28fix(ext/node): implement crypto.Sign (RSA/PEM/SHA{224,256,384,512}) (#18471)Yoshiya Hinosawa
2023-03-28feat(ext/node): add `crypto.checkPrime` API (#18465)Divy Srivastava
Towards #18455 This commit implements `checkPrimeSync` and `checkPrime` in node:crypto using the Miller-Rabin primality test (fun fact: it actually is a test for composite numbers) It first compares the candidate against many known small primes and if not, proceeds to run the Miller-Rabin primality test. http://nickle.org/examples/miller-rabin.5c used as reference implementation.
2023-03-28chore(ext/node): port pbkdf2 to Rust (#18470)Divy Srivastava
Towards #18455
2023-03-28chore: add test for Linux shared libraries (#18461)Andrew Nester
Closes #18266
2023-03-27feat(core): initialize SQLite off-main-thread (#18401)Matt Mastracci
This gets SQLite off the flamegraph and reduces initialization time by somewhere between 0.2ms and 0.5ms. In addition, I took the opportunity to move all the cache management code to a single place and reduce duplication. While the PR has a net gain of lines, much of that is just being a bit more deliberate with how we're recovering from errors. The existing caches had various policies for dealing with cache corruption, so I've unified them and tried to isolate the decisions we make for recovery in a single place (see `open_connection` in `CacheDB`). The policy I chose was: 1. Retry twice to open on-disk caches 2. If that fails, try to delete the file and recreate it on-disk 3. If we fail to delete the file or re-create a new cache, use a fallback strategy that can be chosen per-cache: InMemory (temporary cache for the process run), BlackHole (ignore writes, return empty reads), or Error (fail on every operation). The caches all use the same general code now, and share the cache failure recovery policy. In addition, it cleans up a TODO in the `NodeAnalysisCache`.
2023-03-27fix(ext/node): add missing _preloadModules hook (#18447)Marvin Hagemeister
This internal node hook is used by libraries such as `ts-node` when used as a require hook `node -r ts-node/register`. That combination is often used with test frameworks like `mocha` or `jasmine`. We had a reference to `Module._preloadModules` in our code, but the implementation was missing. While fixing this I also noticed that the `fakeParent` module that we create internally always threw because of the `pathDirname` check on the module id in the constructor of `Mdoule`. So this code path was probably broken for a while. ```txt ✖ ERROR: Error: Empty filepath. at pathDirname (ext:deno_node/01_require.js:245:11) at new Module (ext:deno_node/01_require.js:446:15) at Function.Module._resolveFilename (ext:deno_node/01_require.js:754:28) at Function.resolve (ext:deno_node/01_require.js:1015:19) ```
2023-03-26feat(bench): add `--no-run` flag (#18433)Geert-Jan Zwiers
2023-03-26test(ext/node): Port crypto tests from std/node (#18382)Max Dahlgren
2023-03-26fix(cli): don't store blob and data urls in the module cache (#18261)Nayeem Rahman
2023-03-25feat(test): print pending tests on sigint (#18246)Nayeem Rahman
2023-03-25chore(tests): enable `single_compile_with_reload` again (#18196)Geert-Jan Zwiers
2023-03-25chore(ext/kv): add limits (#18415)Heyang Zhou
2023-03-25fix(ext/node): add aes-128-ecb algorithm support (#18412)Yoshiya Hinosawa
2023-03-24feat(ext/node): implement crypto.createSecretKey (#18413)Divy Srivastava
This commit adds the `crypto.createSecretKey` API. Key management: This follows the same approach as our WebCrypto CryptoKey impl where we use WeakMap for storing key material and a handle is passed around, such that (only internal) JS can access the key material and we don't have to explicitly close a Rust resource. As a result, `createHmac` now accepts a secret KeyObject. Closes https://github.com/denoland/deno/issues/17844
2023-03-24fix(ext/node): make cipher/decipher transform stream (#18408)Yoshiya Hinosawa
2023-03-24fix(ext/kv): add missing `getMany` method (#18410)Heyang Zhou
The `getMany` method was missing from the implementation of the `Deno.Kv` class. This patch fixes it.
2023-03-23fix(cli): restore `deno run -` to handle stdin as typescript (#18391)Cre3per
Bug reported here shortly after merging `--ext` changes https://github.com/denoland/deno/pull/17172#issuecomment-1480898098 Also found a missing `--check` in integration tests for `--ext` that would have missed a bug if there was one. Fixes #18392
2023-03-23fix(inspect): ensure non-compact output when object literal has newline in ↵David Sherret
entry text (#18366) Fixes `Deno.inspect` to make an object literal non-compact when an entry has multiple lines in it.
2023-03-23refactor(ext/node): Use Deno.inspect (#17960)Ryan Dahl
No need for two almost identical implementations of the same thing --------- Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-03-23fix(lsp): ensure `enablePaths` works when clients do not provide a trailing ↵David Sherret
slash for workspace dir (#18373) Closes https://github.com/denoland/vscode_deno/issues/827
2023-03-22fix(ext/kv): reverse mapping between `AnyValue::Bool` and `KeyPart::Bool` ↵Heyang Zhou
(#18365) Previously the mapping between `AnyValue::Bool` and `KeyPart::Bool` was inverted. This patch also allows using the empty key `[]` as range start/end to `snapshot_read`.
2023-03-22chore(ext/kv): disable ci tests on darwin (#18364)Heyang Zhou
https://github.com/denoland/deno/issues/18363
2023-03-22Revert "refactor: rename Deno.openKv() to Deno.kv() (#18349)" (#18362)Ryan Dahl
This reverts commit 50b793c9ed866ee29e8f04b4fa24b485b01a2b74.
2023-03-22test: ignore flaky node:child_process tests (#18360)Bartek Iwańczuk
2023-03-22chore(cli): measure performance against wall-clock (#18357)Matt Mastracci
Fixes test flake by requiring perf to be <150% of wall-clock time rather than <500ms.
2023-03-22chore(cli): ensure no signal on test exit (#18354)Matt Mastracci
If deno crashes on exit, we get a failure on the exit code (None instead of Some(0) but we never see the signal.
2023-03-22chore(cli): disable flash_test as it is causing SIGSEGV (#18358)Matt Mastracci
2023-03-22test: ignore fetchWithInvalidContentLength and fetchConnectionError on ↵Bartek Iwańczuk
Windows (#18351) https://github.com/denoland/deno/issues/18350
2023-03-22feat(cli): --ext parameter for run, compile, and bundle (#17172)Cre3per
Adds `--ext` to `deno run`, closes #5088 Additionally - Adds `--ext` to `deno compile` and `deno bundle`
2023-03-22refactor: rename Deno.openKv() to Deno.kv() (#18349)Ryan Dahl
2023-03-22chore: upgrade rusty_v8 to 0.66.0 (#18339)Bartek Iwańczuk
2023-03-22test: mark two unit tests as flaky (#18344)Bartek Iwańczuk
Temporarily marking two "fetch" tests as flaky, since they've been failing on CI for the past 24h.
2023-03-22fix(ext/kv): don't request permissions for ":memory:" (#18346)Nayeem Rahman
Currently `Deno.openKv(":memory:")` requests read+write permissions for `./:memory:` even though no file is read or written. Also added some guards for special sqlite paths that were unintentionally opted into.
2023-03-22feat(ext/kv): key-value store (#18232)Heyang Zhou
This commit adds unstable "Deno.openKv()" API that allows to open a key-value database at a specified path. --------- Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-21test: disable macos_shared_libraries test (#18342)Bartek Iwańczuk
This test is flaky: https://github.com/denoland/deno/issues/18341
2023-03-21feat: TypeScript 5.0.2 (except decorators) (#18294)David Sherret
This upgrades TypeScript to 5.0.2, but does not have ES decorator support because swc does not support that yet.
2023-03-21chore(tools): restore node compat test setup script (#18290)Yoshiya Hinosawa
2023-03-21chore(ext/console): inspect anonymous function as `[Function (anonymous)]` ↵Yoshiya Hinosawa
(#18283) This PR changes the inspect result of anonymous functions from `[Function]` to `[Function (anonymous)]`. This behavior is aligned to `util.inspect` of Node.js.
2023-03-20feat(ext/net): Add multicasting APIs to DatagramConn (#10706) (#17811)Sam Gwilym
2023-03-20refactor(ext/node): untangle dependencies between js files (#18284)Bartek Iwańczuk
Moving some code around in `ext/node` is it's a bit better well defined and makes it possible for others to embed it. I expect to see no difference in startup perf with this change.
2023-03-19feat(compile): Add support for web workers in standalone mode (#17657)Andreu Botella
This commit adds support for spawning Web Workers in self-contained binaries created with "deno compile" subcommand. As long as module requested in "new Worker" constructor is part of the eszip (by means of statically importing it beforehand, or using "--include" flag), then the worker can be spawned.