summaryrefslogtreecommitdiff
path: root/cli/tests/workers_test.ts
AgeCommit message (Collapse)Author
2021-02-15chore: Reorganise workers tests (#9493)Bartek Iwańczuk
2021-02-02chore: remove std directory (#9361)Casper Beyer
This removes the std folder from the tree. Various parts of the tests are pretty tightly dependent on std (47 direct imports and 75 indirect imports, not counting the cli tests that use them as fixtures) so I've added std as a submodule for now.
2021-01-19feat: Add WorkerOptions interface to type declarations (#9147)Nayeem Rahman
2021-01-17fix(op_crates/web): Use WorkerLocation for location in workers (#9084)Nayeem Rahman
2021-01-16upgrade: dlint in third_party/ (#9134)Bartek Iwańczuk
2021-01-11chore: update copyright to 2021 (#9092)Yusuke Tanaka
2021-01-08fix: Worker hangs when posting "undefined" as message (#8920)yonatan ben avraham
This commit fixes hang in web workers occuring when sending "undefined" as message value. It is a temporary band-aid until proper structured close is implemented. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-01-07feat: add --location=<href> and globalThis.location (#7369)Nayeem Rahman
2021-01-07fix: Use "none" instead of false to sandbox Workers (#9034)Nayeem Rahman
2021-01-06feat: Add configurable permissions for Workers (#8215)Steven Guerrero
This commit adds new option to "Worker" Web API that allows to configure permissions. New "Worker.deno.permissions" option can be used to define limited permissions to the worker thread by either: - inherit set of parent thread permissions - use limited subset of parent thread permissions - revoke all permissions (full sandbox) In order to achieve this functionality "CliModuleLoader" was modified to accept "initial permissions", which are used for top module loading (ie. uses parent thread permission set to load top level module of a worker).
2021-01-06feat(cli): support data urls (#8866)Kitson Kelly
Closes: #5059 Co-authored-by: Valentin Anger <syrupthinker@gryphno.de>
2020-12-20Revert "fix: TLA in web worker (#8809)" (#8839)Bartek Iwańczuk
This reverts commit e924bbdf3606e83ff9eef3a8ed640c4ecc34444f.
2020-12-20fix: TLA in web worker (#8809)Bartek Iwańczuk
Implementors of `deno_core::JsRuntime` might want to do additional actions during each turn of event loop, eg. `deno_runtime::Worker` polls inspector, `deno_runtime::WebWorker` receives/dispatches messages from/to worker host. Previously `JsRuntime::mod_evaluate` was implemented in such fashion that it only polled `JsRuntime`'s event loop. This behavior turned out to be wrong in the example of `WebWorker` which couldn't receive/dispatch messages because its implementation of event loop was never called. This commit rewrites "mod_evaluate" to return a handle to receiver that resolves when module's promise resolves. It is now implementors responsibility to poll event loop after calling `mod_evaluate`.
2020-11-27fix: panic in worker when closing at top level (#8510)Bartek Iwańczuk
Fixes panic occurring in worker when "self.close()" is called at the top level, ie. worker shuts down while module evaluation promise hasn't yet resolved.
2020-11-26refactor(cli/tests): replace createResolvable with deferred (#8507)crowlKats
2020-11-24feat(cli): update to TypeScript 4.1 (#7573)Kitson Kelly
2020-11-10fix(web/worker) define event handlers in DOM order (#8334)Benjamin Gruenbaum
2020-11-03build: migrate to dlint (#8176)Bartek Iwańczuk
This commit migrates repository from using "eslint" to "dlint" for linting JavaScript code.
2020-10-12fix(cli/rt/main): Add global interface objects (#7875)Nayeem Rahman
2020-07-14Use dprint for internal formatting (#6682)David Sherret
2020-06-09fix(cli/js/web/worker): Disable relative module specifiers (#5266)Nayeem Rahman
2020-05-08feat(workers): "crypto" global accessible in Worker scope (#5121)Oliver Lenehan
2020-04-16feat: support Deno namespace in Worker API (#4784)Bartek Iwańczuk
2020-04-14fix(worker): make worker name spec compliant (#4746)Bartek Iwańczuk
2020-04-13feat: implement EventTarget for worker scope (#4737)Bartek Iwańczuk
2020-04-13feat(worker): add MessageEvent, ErrorEvent and handling to Worker API (#4391)crowlKats
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-04-10implement Worker.terminate() and self.close() (#4684)Bartek Iwańczuk
2020-03-28Update to Prettier 2 and use ES Private Fields (#4498)Kitson Kelly
2020-03-18feat: Deno.test() sanitizes ops and resources (#4399)Bartek Iwańczuk
This PR brings assertOps and assertResources sanitizers to Deno.test() API. assertOps checks that test doesn't leak async ops, ie. there are no unresolved promises originating from Deno APIs. Enabled by default, can be disabled using Deno.TestDefinition.disableOpSanitizer. assertResources checks that test doesn't leak resources, ie. all resources used in test are closed. For example; if a file is opened during a test case it must be explicitly closed before test case finishes. It's most useful for asynchronous generators. Enabled by default, can be disabled using Deno.TestDefinition.disableResourceSanitizer. We've used those sanitizers in internal runtime tests and it proved very useful in surfacing incorrect tests which resulted in interference between the tests. All tests have been sanitized. Closes #4208
2020-03-11move compiler API tests to integration tests (#4319)Bartek Iwańczuk
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