summaryrefslogtreecommitdiff
path: root/cli/tests
AgeCommit message (Collapse)Author
2020-03-14Update CLI for unit_test_runner.ts (#4352)Bartek Iwańczuk
* drop server guard before unit test result check To prevent cascading test failures when js_unit_test http server guard is dropped before asserting that tests were successful. This is really a band-aid and doesn't solve underlying issue with http server. * Update CLI for unit_test_runner.ts * Change cli/js/tests/unit_test_runner.ts command line interface to work in 3 modes: - "one-off" - run tests that match permissions of currently running process - "master" - run tests for all possible permission combinations, by spawning subprocesses running in "worker" mode and communicating via TCP socket; requires elevated permissions - "worker" - run tests for set of permissions provided by CLI arg; requires elevated permissions to setup TCP connection to "master"; after initial setup process drops permissions to given set * Support filtering of tests by string passed after "--" CLI arg * Update cli/js/tests/README.md
2020-03-13refactor: unit test runner communicates using TCP socket (#4336)Bartek Iwańczuk
Rewrites "cli/js/unit_test_runner.ts" to communicate with spawned subprocesses using TCP socket. * Rewrite "Deno.runTests()" by factoring out testing logic to private "TestApi" class. "TestApi" implements "AsyncIterator" that yields "TestEvent"s, which is an interface for different types of event occuring during running tests. * Add "reporter" argument to "Deno.runTests()" to allow users to provide custom reporting mechanism for tests. It's represented by "TestReporter" interface, that implements hook functions for each type of "TestEvent". If "reporter" is not provided then default console reporting is used (via "ConsoleReporter"). * Change how "unit_test_runner" communicates with spawned suprocesses. Instead of parsing text data from child's stdout, a TCP socket is created and used for communication. "unit_test_runner" can run in either "master" or "worker" mode. Former is responsible for test discovery and establishing needed permission combinations; while latter (that is spawned by "master") executes tests that match given permission set. * Use "SocketReporter" that implements "TestReporter" interface to send output of tests to "master" process. Data is sent as stringified JSON and then parsed by "master" as structured data. "master" applies it's own reporting logic to output tests to console (by reusing default "ConsoleReporter").
2020-03-12Enable std tests in debug mode (#4332)Ryan Dahl
2020-03-11Add waker to StreamResource to fix hang on close bugs (#4293)João Souto
2020-03-11move compiler API tests to integration tests (#4319)Bartek Iwańczuk
2020-03-11reorg: cli/js/compiler/, move more API to cli/js/web/ (#4310)Bartek Iwańczuk
- moves compiler implementation to "cli/js/compiler/" directory - moves more APIs to "cli/js/web": * "console.ts" * "console_table.ts" * "performance.ts" * "timers.ts" * "workers.ts" - removes some dead code from "cli/js/"
2020-03-10reorg: move js runtime tests to cli/js/tests/ (#4250)Bartek Iwańczuk
All Deno runtime test files were moved to cli/js/tests/ directory. It makes a clear distinction that cli/js/tests/ contains code that is run under Deno runtime as opposed to code in cli/js/ which is used to create bundle and snapshot with "deno_typescript".
2020-03-08disable test_raw_tty (#4282)Yusuke Sakurai
2020-03-08reorg: move JS ops implementations to cli/js/ops/, part 1 (#4264)Bartek Iwańczuk
Following JS ops were moved to separate files in cli/js/ops directory: - compiler - dispatch_json - dispatch_minimal - errors - fetch - fs_events - os - random - repl - resources - runtime_compiler - runtime - tty
2020-03-07Improve run_and_collect_output (#4272)Ryan Dahl
* Fix flaky test test_permissions_net_listen_allow_localhost * Improve error reporting for run_and_collect_output
2020-03-06Fix flaky test test_permissions_net_listen_allow_localhost (#4271)Ryan Dahl
2020-03-06Add content type for wasm, fix encoding in wasm test fixture (#4269)Aurélien Bertron
2020-03-05Allow BadResource errors to take a custom message (#4251)Ryan Dahl
2020-03-04Migrate internal bundles to System (#4233)Kitson Kelly
2020-03-04Fix `deno install` file name including extra dot on Windows (#4243)yuta0801
2020-03-03Disable flaky and broken tests (#4239)Ryan Dahl
2020-03-03add assertOps sanitizer in cli/js/ unit tests (#4209)Bartek Iwańczuk
* add "assertOps" test assertion which makes sure test case is not "leaking" ops - ie. after test finishes there are no pending async ops * apply "assertOps" to all tests in "cli/js/" * fix numerous tests leaking ops * document problem with edge case in "clearInterval" and "clearTimeout" implementation where they may leak async ops * move "cli/js/worker_test.ts" to "cli/tests/worker_test.ts" and run as integration test; workers leak ops because of missing "terminate" implementation
2020-03-02Fix JavaScript dependencies in bundles. (#4215)Kitson Kelly
Fixes #4602 We turned off `allowJs` by default, to keep the compiler from grabbing a bunch of files that it wouldn't actually do anything useful with. On the other hand, this caused problems with bundles, where the compiler needs to gather all the dependencies, including JavaScript ones. This fixes this so that when we are bundling, we analyse JavaScript imports in the compiler.
2020-03-01Port Complex Permissions Tests to Rust (#4200)João Souto
2020-02-29refactor(cli/js): Replace constructError() with getErrorClass() (#4189)Nayeem Rahman
Flattens dispatch error handling to produce one less useless stack frame on op errors.
2020-02-28rewrite permission revoke test as integration test (#4164)Bartek Iwańczuk
2020-02-28Support TypeScript eval through `deno eval -T` flag (#4141)Kevin (Kun) "Kassimo" Qian
2020-02-27Return non-zero exit code on malformed stdin fmt (#4163)Ryan Dahl
2020-02-27feat: Support types compiler option in compiler APIs (#4155)Kitson Kelly
Handles `types` in the compiler APIs to make it easier to supply external type libraries.
2020-02-26Bundles can be sync or async based on top level await (#4124)Kitson Kelly
Previously, bundles always utilised top level await, even if the bundled modules didn't require top level await. Now, analysis of the bundle is done and if none of the bundled modules are asynchronously executed, then the bundle as a whole will be synchronously executed. Fixes #4055 Fixes #4123
2020-02-26DenoFlags -> Flags (#4136)Ryan Dahl
2020-02-26tty: Deno.setRaw(rid, mode) to turn on/off raw mode (#3958)Kevin (Kun) "Kassimo" Qian
2020-02-25Port permission_prompt_tests to Rust (#4129)João Souto
2020-02-25upgrade: TypeScript 3.8 (#4100)Kitson Kelly
2020-02-25fix: Resolve makeTemp* paths from CWD (#4104)Nayeem Rahman
2020-02-25Fix issues with JavaScript importing JavaScript. (#4120)Kitson Kelly
Fixes #3852 Fixes #4117
2020-02-24port tools/repl_test.py to Rust (#4096)João Souto
ref #2988
2020-02-24fix: createSecKey logic (#4063)Suguru Motegi
2020-02-23feat: support brotli compression for fetch API (#4082)EnokMan
2020-02-21refactor: remove unneeded ErrorKinds (#3936)Bartek Iwańczuk
2020-02-21fix: add io ops to worker to fix fetch (#4054)Bartek Iwańczuk
2020-02-19fix: mis-detecting imports on JavaScript when there is no checkJs (#4040)Kitson Kelly
This PR fixes an issue where we recursively analysed imports on plain JS files in the compiler irrespective of "checkJs" being true. This caused problems where when analysing the imports of those files, we would mistake some import like structures (AMD/CommonJS) as dependencies and try to resolve the "modules" even though the compiler would not actually look at those files.
2020-02-19fix: emit when bundle contains single module (#4042)Kitson Kelly
Fixes #4031 When a bundle contains a single module, we were incorrectly determining the module name, resulting in a non-functional bundle. This PR corrects that determination.
2020-02-19Enable TS strict mode by default (#3899)Maximilien Mellen
Fixes #3324 Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2020-02-19refactor: rewrite HTTP cache for file fetcher (#4030)Bartek Iwańczuk
2020-02-19Support loading additional TS lib files (#3863)Kitson Kelly
Fixes #3726 This PR provides support for referencing other lib files (like lib.dom.d.ts that are not used by default in Deno.
2020-02-17feat: add --cert flag for http client (#3972)geoFlux
2020-02-16Fix issue with detecting AMD like imports (#4009)Kitson Kelly
2020-02-13Clean up fmt flags and path handling (#3988)Ryan Dahl
2020-02-12Improvements to bundling. (#3965)Kitson Kelly
Moves to using a minimal System loader for bundles generated by Deno. TypeScript in 3.8 will be able to output TLA for modules, and the loader is written to take advantage of that as soon as we update Deno to TS 3.8. System also allows us to support `import.meta` and provide more ESM aligned assignment of exports, as well as there is better handling of circular imports. The loader is also very terse versus to try to save overhead. Also, fixed an issue where abstract classes were not being re-exported. Fixes #2553 Fixes #3559 Fixes #3751 Fixes #3825 Refs #3301
2020-02-11refactor: Use PathBuf for paths in flag parsing and whitelists (#3955)Nayeem Rahman
* Use PathBuf for DenoSubcommand::Bundle's out_file * Use PathBuf for DenoSubcommand::Format's files * Use PathBuf for DenoSubcommand::Install's dir * Use PathBuf for read/write whitelists
2020-02-11workers: basic event loop (#3828)Bartek Iwańczuk
* establish basic event loop for workers * make "self.close()" inside worker * remove "runWorkerMessageLoop() - instead manually call global function in Rust when message arrives. This is done in preparation for structured clone * refactor "WorkerChannel" and use distinct structs for internal and external channels; "WorkerChannelsInternal" and "WorkerHandle" * move "State.worker_channels_internal" to "Worker.internal_channels" * add "WorkerEvent" enum for child->host communication; currently "Message(Buf)" and "Error(ErrBox)" variants are supported * add tests for nested workers * add tests for worker throwing error on startup
2020-02-09fmt: `deno fmt -` formats stdin and print to stdout (#3920)Kevin (Kun) "Kassimo" Qian
2020-02-08install: add --force flag and remove yes/no prompt (#3917)Kevin (Kun) "Kassimo" Qian
2020-02-07Remove conditionals from installer (#3909)Ryan Dahl