Skip to content

Add WPT html/webappapis/timers tests - #8136

Merged
npaun merged 1 commit into
automatic-update-wptfrom
npaun/wpt-html-timers
Nov 2, 2026
Merged

npaun merged 1 commit into
automatic-update-wptfrom
npaun/wpt-html-timers

Conversation

@npaun

@npaun npaun commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Adds a WPT target for html/webappapis/timers: all 10 subtests in 7 files pass.

The two type-long-* files are disabled because they hang (delays aren't converted to a WebIDL long), and evil-spec-example is omitted (string handlers).

@npaun
npaun marked this pull request as ready for review November 1, 2026 23:02
@npaun
npaun requested review from a team as code owners November 1, 2026 23:02

@clanky-the-clanker clanky-the-clanker Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superseded by the review of 95cb074e.

This review, of d317fca8

✅ Approved — No issues found. The new WPT target and test config follow the existing patterns, and every disabled or omitted test has a comment explaining why.

The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.


✅ All checks passed

📋 Code Quality: ✅ LGTM

No issues found in either file.

  • src/wpt/BUILD.bazel: the new wpt_test target uses the label @wpt//:html/webappapis/timers@module, the same form as the other nested-directory targets (dom/abort, fetch/api, wasm/jsapi).
  • src/wpt/html/webappapis/timers-test.ts: it sets disabledTests: true and omittedTests: true the way the harness supports them, gives each of those entries a comment, and ends with satisfies TestRunnerConfig.

📝 Documentation: ✅ LGTM

No documentation issues. The comments on the disabled and omitted entries describe how the runtime currently behaves.


Reviewed commit: d317fca8

Run the .any.js tests from html/webappapis/timers, which cover
setTimeout and setInterval: clearing timers from callbacks, using
clearTimeout and clearInterval interchangeably, missing, undefined
and negative delays, and ordering of zero-delay timers.

All 10 subtests in the 7 enabled files pass, including the two
setup({single_test: true}) files that check negative delays.

- evil-spec-example.any.js is omitted: it relies on string handlers,
  which workerd does not support because it disallows eval.
- type-long-settimeout.any.js and type-long-setinterval.any.js are
  disabled because they hang. workerd clamps the delay as a double
  rather than converting it to a WebIDL long, so 2 ** 32 ms does not
  wrap to 0 and done() is never called.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@npaun
npaun force-pushed the npaun/wpt-html-timers branch from d317fca to 95cb074 Compare November 2, 2026 01:26

@clanky-the-clanker clanky-the-clanker Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Approved — No issues found. The new WPT target follows the pattern of the existing targets, and every disabled or omitted test has a comment saying why.

The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.


✅ All checks passed

📋 Code Quality: ✅ LGTM

No issues found. The new wpt_test target in src/wpt/BUILD.bazel follows the pattern of the targets around it. src/wpt/html/webappapis/timers-test.ts uses disabledTests and omittedTests the way the harness supports them, and each disabled or omitted entry has its comment.


📝 Documentation: ✅ LGTM

No documentation issues. The comments on the disabled and omitted entries describe how the runtime behaves today.


Reviewed commit: 95cb074e

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (automatic-update-wpt@f804ff1). Learn more about missing BASE report.

Additional details and impacted files
@@                   Coverage Diff                   @@
##             automatic-update-wpt    #8136   +/-   ##
=======================================================
  Coverage                        ?   68.31%           
=======================================================
  Files                           ?      726           
  Lines                           ?   189662           
  Branches                        ?    29672           
=======================================================
  Hits                            ?   129568           
  Misses                          ?    42719           
  Partials                        ?    17375           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@npaun
npaun merged commit 3f9d2b6 into automatic-update-wpt Nov 2, 2026
20 checks passed
@npaun
npaun deleted the npaun/wpt-html-timers branch November 2, 2026 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants