Skip to content

Commit

Permalink
chore(wpt): Enable WPT worker tests
Browse files Browse the repository at this point in the history
Classic workers were implemented in denoland#11338, which also enabled the WPT
tests in the `workers` directory. However, the rest of WPT worker tests
were not enabled because a number of them were hanging due to
web-platform-tests/wpt#29777. Now that that WPT issue is fixed, the bulk
of worker tests can be enabled.

There are still a few tests that hang, and so haven't been enabled. In
particular:

- The following tests seem to hang because a promise fails to resolve.
  We can detect such cases in non-worker tests because the process will
  exit without calling the WPT completion callback, but in worker tests
  the worker message ops will keep the event loop running. This will be
  fixed when we add timeouts to WPT tests (denoland#9460).

  - `/fetch/api/basic/error-after-response.any.worker.html`
  - `/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html`
  - `/webmessaging/message-channels/worker-post-after-close.any.worker.html`
  - `/webmessaging/message-channels/worker.any.worker.html`
  - `/websockets/Create-on-worker-shutdown.any.worker.html`

- The following tests apparently hang because a promise rejection is
  never handled, which will kill the process in the main thread but not
  in workers (denoland#12221).

  - `/streams/readable-streams/async-iterator.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker.html`
  • Loading branch information
Andreu Botella committed Oct 7, 2021
1 parent c4b995f commit 70afc0f
Show file tree
Hide file tree
Showing 2 changed files with 14,318 additions and 93 deletions.
3 changes: 2 additions & 1 deletion tools/wpt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,8 @@ function discoverTestsToRun(
if (
!url.pathname.endsWith(".any.html") &&
!url.pathname.endsWith(".window.html") &&
!url.pathname.endsWith(".worker.html")
!url.pathname.endsWith(".worker.html") &&
!url.pathname.endsWith(".worker-module.html")
) {
continue;
}
Expand Down
Loading

0 comments on commit 70afc0f

Please sign in to comment.