summaryrefslogtreecommitdiff
path: root/cli/tests/workers_test.ts
AgeCommit message (Collapse)Author
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