summaryrefslogtreecommitdiff
path: root/cli/tests
AgeCommit message (Collapse)Author
2021-09-23refactor: clean up watcher tests (#12200)Ryan Dahl
2021-09-23feat(cli/fmt): support more markdown extensions (#12195)Satya Rohith
2021-09-23test(cli): align unit test permissions with runtime test permissions (#12189)Casper Beyer
2021-09-22fix(workers): Don't panic when a worker's parent thread stops running (#12156)Andreu Botella
This panic could happen in the following cases: - A non-fatal error being thrown from a worker, that doesn't terminate the worker's execution, but propagates to the main thread without being handled, and makes the main thread terminate. - A nested worker being alive while its parent worker gets terminated. - A race condition if the main event loop terminates the worker as part of its last task, but the worker doesn't fully terminate before the main event loop stops running. This panic happens because a worker's event loop should have pending ops as long as the worker isn't closed or terminated – but if an event loop finishes running while it has living workers, its associated `WorkerThread` structs will be dropped, closing the channels that keep those ops pending. This change adds a `Drop` implementation to `WorkerThread`, which terminates the worker without waiting for a response. This fixes the panic, and makes it so nested workers are automatically terminated once any of their ancestors is closed or terminated. This change also refactors a worker's termination code into a `WorkerThread::terminate()` method. Closes #11342. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-22chore: replace calls to assertThrowsAsync with assertRejects (#12176)Casper Beyer
2021-09-20chore(tests): windows pty tests (#12091)David Sherret
2021-09-20test(ext/ffi): add tests for different parameter and return types (#12158)Elias Sjögreen
2021-09-18fix(cli/fmt_errors): Abbreviate long data URLs in stack traces (#12127)Nayeem Rahman
Co-authored-by: Mike White <mike.white@auctane.com>
2021-09-17chore(tests): maybe fix flaky flock tests (#12122)David Sherret
2021-09-17chore(tests): fix flaky fetchPostBodyTypedArray (#12104)David Sherret
2021-09-17chore(tests): fix flaky flock tests (#12099)David Sherret
2021-09-17fix(cli): don't ignore diagnostics about for await (#12116)Kitson Kelly
Fixes #12115
2021-09-16fix(ext/crypto): don't use core.decode for encoding jwk keys (#12088)Divy Srivastava
2021-09-15chore(lsp): use pretty_assertions in e2e tests (#12083)Satya Rohith
2021-09-14feat(ext/crypto): import RSA pkcs#8 keys (#11891)Divy Srivastava
2021-09-14fix(lsp): correctly parse registry patterns (#12063)Kitson Kelly
2021-09-14feat(lsp): ignore specific lint for entire file (#12023)Satya Rohith
2021-09-13feat(fmt): add support for configuration file (#11944)Bartek Iwańczuk
This commit adds support for configuration file for "deno fmt" subcommand. It is also respected by LSP when formatting files. Example configuration: { "fmt": { "files": { "include": ["src/"], "exclude": ["src/testdata/"] }, "options": { "useTabs": true, "lineWidth": 80, "indentWidth": 4, "singleQuote": true, "textWrap": "preserve" } } }
2021-09-13feat(unstable): allow specifing gid and uid for subprocess (#11586)Leo K
2021-09-13fix: change assertion in httpServerIncompleteMessage test (#12052)Bartek Iwańczuk
2021-09-13fix: worker_message_before_close was flaky (#12019)Andreu Botella
2021-09-13feat(ext/crypto): export RSA keys as pkcs#8 (#11880)Divy Srivastava
2021-09-13fix(lsp): support data urls in `deno.importMap` option (#11397)Satya Rohith
2021-09-13fix(ext/fetch): Properly cancel upload stream when aborting (#11966)Nayeem Rahman
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-12fix(ext/crypto): add HkdfParams and Pkdf2Params types (#11991)Divy Srivastava
2021-09-11feat(ext/crypto): verify ECDSA signatures (#11739)Divy Srivastava
2021-09-09fix: permission prompt stuffing (#11931)Ryan Dahl
Fixes #9750
2021-09-08fix(ext/web): Preserve stack traces for DOMExceptions (#11959)Nayeem Rahman
2021-09-08feat: add URLPattern API (#11941)Luca Casonato
This adds support for the URLPattern API. The API is added in --unstable only, as it has not yet shipped in any browser. It is targeted for shipping in Chrome 95. Spec: https://wicg.github.io/urlpattern/ Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-08fix(ext/http): resource leak if request body is not consumed (#11955)Bartek Iwańczuk
2021-09-08feat(cli): Support Basic authentication in DENO_AUTH_TOKENS (#11910)BasiqueEvangelist
2021-09-07fix: remove windows-only panic when calling `Deno.kill` (#11948)David Sherret
2021-09-07refactor(lsp): use deno_ast and cache swc ASTs (#11780)David Sherret
2021-09-06fix(ext/web): Format terminal DOMExceptions properly (#11834)Nayeem Rahman
2021-09-06BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909)Ryan Dahl
2021-09-06Don't drop messages from workers that have already been closed (#11913)Andreu Botella
When `worker.terminate()` is called, the spec requires that the corresponding port message queue is emptied, so no messages can be received after the call, even if they were sent from the worker before it was terminated. The spec doesn't require this of `self.close()`, and since Deno uses different channels to send messages and to notify that the worker was closed, messages might still arrive after the worker is known to be closed, which are currently being dropped. This change fixes that. The fix involves two parts: one on the JS side and one on the Rust side. The JS side was using the `#terminated` flag to keep track of whether the worker is known to be closed, without distinguishing whether further messages should be dropped or not. This PR changes that flag to an enum `#state`, which can be one of `"RUNNING"`, `"CLOSED"` or `"TERMINATED"`. The Rust side was removing the `WorkerThread` struct from the workers table when a close control was received, regardless of whether there were any messages left to read, which made any subsequent calls to `op_host_recv_message` to return `Ok(None)`, as if there were no more mesasges. This change instead waits for both a close control and for the message channel's sender to be closed before the worker thread is removed from the table.
2021-09-05chore(std/http): server module name migration (#11890)Craig Morten
2021-09-04feat(cli): close test worker once all tests complete (#11727)Casper Beyer
2021-09-04refactor(testing): redirect console output via reporter (#11911)Casper Beyer
This feeds console output to the reporter and handles silencing there instead of in the JavaScript code.
2021-09-03feat(lint): add support for config file and CLI flags for rules (#11776)Bartek Iwańczuk
This commit adds support for following flags in deno lint subcommand: --config - allows to load configuration file and parses "lint" object --rules-tags=<tags> - allows specifying which set of tagged rules should be run --rules-include=<rules> - allow specifying which rules should be run --rules-exclude=<rules> - allow specifying which rules should not be run
2021-09-02chore(test): improve flaky lsp_diagnostics_refresh_dependents test to give ↵David Sherret
more info (#11905)
2021-09-02chore: upgrade crates (#11894)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2021-09-01fix(cli): retain path based test mode inference (#11878)Casper Beyer
2021-08-31feat(workers): Make the `Deno` namespace configurable and unfrozen (#11888)Andreu Botella
This is the worker counterpart of PR #11062.
2021-08-29feat(ext/crypto): support JWK export for HMAC (#11864)Divy Srivastava
2021-08-27feat(ext/crypto): support JWK import for HMAC (#11716)Divy Srivastava
2021-08-27feat(cli): Update to TypeScript 4.4 (#11678)Kitson Kelly
2021-08-26refactor(cli): introduce module specifier test modes (#11769)Casper Beyer
This commit merges the two vectors of specifiers into a single one introducing the concept of a "TestMode" which is a tri-state enum specifying how a specifier is to be tested (as documentation, as an executable module or as both). This is determined during the collection phase and determines how a specifier will be executed based on how the specifier was collected (directly or not) and if it has an eligible media_type when fetched. For example "deno test README.md" is marked as documentation because, while it is a direct inclusion it is not an executable media type therefore will only have the fenced code blocks that can be parsed from it tested.
2021-08-25chore(tests): improve unit tests using `deferred` (#11842)David Sherret
2021-08-25feat(fetch): mTLS client certificates for fetch() (#11721)Sean Michael Wykes
This commit adds support for specifying client certificates when using fetch, by means of `Deno.createHttpClient`.