Skip to content

traverse_the_history_1.html and traverse_the_history_write_after_load_1.html can never complete: start_test_wait() is never called #63098

Open

Description

@bcardarella

Both tests can only finish from start_test_wait(), a function each file defines, but nothing in the automated test ever calls it:

So both files time out in every engine regardless of behaviour. wpt.fyi on 2026-09-30 (Chrome 154, Firefox 157, Safari TP 253) shows TIMEOUT 0/1 for both in all three. The siblings traverse_the_history_2.html through _5.html poll pages with setInterval instead of waiting for start_test_wait(); they complete, and pass in Chrome and Firefox.

The files date from dfe897f (2013). #11296 (part of #11269) moved traverse_the_history_1.html into a popup and fixed its URL, but the path to t.done() stayed unreachable.

traverse_the_history_write_after_load_1.html has a second problem. Its expected pages of [2, 3, 1] assumes that document.write() after the load event, an implicit document.open(), creates a new session history entry. Since whatwg/html#3946 (part of the document.open() overhaul, whatwg/html#3818), document.open() never adds a history entry. So even with a working done path, the expectation contradicts the current spec. traverse_the_history_write_after_load_2.html already carries the comment "the pass condition here is based on the idea that the spec is wrong and browsers are right".

Suggested fix:

  • Make both tests poll pages the way traverse_the_history_2.html does, or have history_entry.html call opener.start_test_wait() when it exists.
  • Update traverse_the_history_write_after_load_1.html's expectation to the post-whatwg/html#3946 model, or remove the test if _write_after_load_2.html already covers it.

Found while triaging harness timeouts for a new engine; we can't pass these as written.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions