summaryrefslogtreecommitdiff
path: root/cli/tools/test.rs
AgeCommit message (Collapse)Author
2022-04-18feat(test): skip internal stack frames for errors (#14302)Bartek Iwańczuk
This commit changes "deno test" to filter out stack frames if it is beneficial to the user. This is the case when there are stack frames coming from "internal" code below frames coming from user code. Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2022-04-16fix(cli/tools/test): Prefix test module paths with "./" (#14301)Nayeem Rahman
2022-04-16feat(test): use structured data for JavaScript errors in tests (#14287)Bartek Iwańczuk
This commit rewrites test runner to send structured error data from JavaScript to Rust instead of passing strings. This will allow to customize display of errors in test report (which will be addressed in follow up commits).
2022-04-15feat(test): format user code output (#14271)Bartek Iwańczuk
This commit changes "deno test" to better denote user output coming from test cases. This is done by printing "---- output ----" and "---- output end ----" markers if an output is produced. The output from "console" and "Deno.core.print" is captured, as well as direct writes to "Deno.stdout" and "Deno.stderr". To achieve that new APIs were added to "deno_core" crate, that allow to replace an existing resource with a different one (while keeping resource ids intact). Resources for stdout and stderr are replaced by pipes. Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-11feat(test): Improve testing report output (#14255)Bartek Iwańczuk
Following changes were done in this commit: - remove "test" prefix before each test - use gray color for "running N tests from ..." prompt - use relative path or remote URL instead of full URL in "running N tests from ..." prompt - in "failures" section, add file path/remote URL before the test name Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2022-04-11feat: Add "deno check" subcommand for type checking (#14072)Bartek Iwańczuk
This commit adds new "deno check" subcommand. Currently it is an alias for "deno cache" with the difference that remote modules don't emit TS diagnostics by default. Prints warning for "deno run" subcommand if "--check" flag is not present and there's no "--no-check" flag. Adds "DENO_FUTURE_CHECK" env variable that allows to opt into new behavior now.
2022-03-30feat(lsp): add experimental testing API (#13798)Kitson Kelly
Ref: denoland/vscode_deno#629
2022-03-29refactor(flags): rename CheckFlag to TypecheckMode (#14111)Bartek Iwańczuk
2022-03-11fix(compat): cjs/esm interop for dynamic imports (#13792)Bartek Iwańczuk
This commit fixes CJS/ESM interop in compat mode for dynamically imported modules. "ProcState::prepare_module_load" was changed to accept a list of "graph roots" without associated "module kind". That module kind was always hardcoded to "ESM" which is not true for CJS/ESM interop - a CommonJs module might be imported using "import()" function. In such case the root of the graph should have "CommonJs" module kind instead of "ESM".
2022-03-11fix(test): skip typechecking for blocks inside HTML comments (#13889)Geert-Jan Zwiers
2022-03-09refactor(test): use tokio::sync::mpsc::unbounded_channel (#13881)Bartek Iwańczuk
This causes to block one less thread when running "deno test" subcommand.
2022-03-09refactor: add cli/display.rs module (#13879)Bartek Iwańczuk
2022-03-08refactor(test): don't spawn additional thread (#13877)Bartek Iwańczuk
2022-03-08fix(test): typecheck blocks annotated with long js/ts notations (#13785)Geert-Jan Zwiers
2022-02-25feat: deno test --trace-ops (#13770)Bartek Iwańczuk
This commit adds "--trace-ops" flag to "deno test" subcommand. This flag enables saving of stack traces for async ops, that before were always saved. While the feature proved to be very useful it comes with a significant performance hit, it's caused by excessive source mapping of stack frames.
2022-02-24chore: upgrade to Rust 1.59 (#13767)David Sherret
2022-02-16feat(test): improved op sanitizer errors + traces (#13676)Luca Casonato
This commit improves the error messages for the `deno test` async op sanitizer. It does this in two ways: - it uses handwritten error messages for each op that could be leaking - it includes traces showing where each op was started This "async op tracing" functionality is a new feature in deno_core. It likely has a significant performance impact, which is why it is only enabled in tests.
2022-02-11refactor: use `Arc` instead of making copies of `Flags` struct (#13610)Maxim
2022-02-01refactor: integrate deno_graph breaking changes (#13495)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-01-31feat(cli): add "--no-clear-screen" flag (#13454)Zheyu Zhang
This commit adds "--no-clear-screen" flag which can be used with "--watch" flag to disable clearing of terminal screen on each file change.
2022-01-15chore: upgrade to rust 1.58 (#13377)David Sherret
2022-01-13refactor: move transpiling to deno_ast (#13332)David Sherret
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-12-30feat(test): Add support for "deno test --compat" (#13235)Steven Guerrero
2021-12-29cleanup(cli): use op Extensions (#13223)Aaron O'Mullan
Enabling op-middleware for overrides in lieu of imperative .replace_op() etc... Impacts #13219, #12938, #13122
2021-12-22chore: update deno_graph and deno_doc (#13173)Kitson Kelly
2021-12-21refactor: cleanup cli/main.rs (#13160)Bartek Iwańczuk
2021-12-20refactor: Use dedicated flags structures (#13148)Bartek Iwańczuk
2021-12-16refactor(cli): use GraphData for check and emit (#12960)Nayeem Rahman
2021-12-15chore: updates to support deno_graph API changes (#13080)Kitson Kelly
2021-11-16fix(cli): short-circuit in prepare_module_load() (#12604)Nayeem Rahman
2021-11-15feat(unstable/test): include test step pass/fail/ignore counts in final ↵David Sherret
report (#12432)
2021-11-15fix(test): support typechecking docs with CRLF line endings (#12748)Geert-Jan Zwiers
2021-11-09feat(cli): support React 17 JSX transforms (#12631)Kitson Kelly
Closes #8440
2021-11-08refactor: move `mod tokio_util` to runtime (#12332)Bert Belder
This avoids a bunch of duplicated code.
2021-11-01chore: upgrade deno_ast to 0.5.0 (#12595)David Sherret
2021-11-01chore(cli): fix typo in variable name (#12617)Dezső Mészáros
2021-10-30feat(test): better formatting for test elapsed time (#12610)Bartek Iwańczuk
This commit changes formatting of elapsed time in test runner output. Instead of "XXXms", reporter outputs one of: - "XXXms" for <1000ms - "XXs" for <60s - "XXXmYYs" for >=60s
2021-10-12chore: upgrade crates based on deno ast 0.3 (#12403)David Sherret
2021-10-11feat(unstable/test): imperative test steps API (#12190)David Sherret
2021-10-11refactor: integrate deno_graph into CLI (#12369)Kitson Kelly
2021-09-24refactor: Rename ProgramState to ProcState (#12204)Ryan Dahl
Move Arc into struct
2021-09-18refactor(cli): don't generate a module for side loading tests (#12129)Casper Beyer
2021-09-18fix(core): prevent multiple main module loading (#12128)Bartek Iwańczuk
This commit fixes a problem where loading and executing multiple modules leads to all of the having "import.meta.main" set to true. Following Rust APIs were deprecated: - deno_core::JsRuntime::load_module - deno_runtime::Worker::execute_module - deno_runtime::WebWorker::execute_module Following Rust APIs were added: - deno_core::JsRuntime::load_main_module - deno_core::JsRuntime::load_side_module - deno_runtime::Worker::execute_main_module - deno_runtime::Worker::execute_side_module - deno_runtime::WebWorker::execute_main_module Trying to load multiple "main" modules into the runtime now results in an error. If user needs to load additional "non-main" modules they should use APIs for "side" module.
2021-09-13chore: update deno_* crates (#12020)Kitson Kelly
2021-09-08fix(test): propagate join errors in deno test (#11953)David Sherret
2021-09-07refactor(lsp): use deno_ast and cache swc ASTs (#11780)David Sherret
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-02chore: upgrade crates (#11894)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>