Repository navigation
test(TreeList): the tree-view coverage check runs as one serial part per state - #9004
Conversation
…per state The exhaustive coverage test ran every binding state in one test, 56-60 s on CI against the 60 s per-test timeout. It is now a serial group: one test per state recording its result, then one check over all of them that first requires every state's result. Same coverage, no raised limit. Test only. Original binding by @cixzhang in #7477.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
There was a problem hiding this comment.
This looks ready to merge. Splitting the coverage check into one serial part per TreeList binding state keeps all five states under the same never-exercised assertion, and the new presence check makes a missing or failed part fail the check instead of passing on partial results. No changes are needed.
[Automated review]
There was a problem hiding this comment.
This looks ready to merge. Splitting the TreeList coverage check into one serial test per binding state keeps all five states under the same never-exercised assertion, and the new presence check makes a missing or failed part fail the check instead of passing on partial results. No changes are needed.
[Automated review]
Maintainer impact
The release-time accessibility contracts can go red on a correct TreeList. "every tree-view expectation is exercised by a TreeList state" runs every binding state in one test. It took 56-60 s in recent release checks against the 60 s per-test timeout, and the latest run crossed it. A timeout on a healthy commit holds the release, and the test would keep hitting the limit as states are added.
Intended invariant
Coverage is unchanged: every tree-view expectation is exercised by at least one TreeList binding state, checked over the results of all states. The per-state tests below it are untouched. The time limit is not raised.
Change
The exhaustive test is now a serial group: one test per binding state, each recording its result, followed by one check over all of them. The final check first asserts that every state's result is present, so running it alone, or after a skipped part, fails instead of passing on partial data. Serial mode keeps the parts on one worker in order and skips the rest if one fails. Each part runs a single state, about a fifth of the old test's time. Test only: no product code and no Changeset.
Evidence
All runs were in Chromium against the Storybook built for the failing commit, with Playwright 1.61.1.
Scope
Testing
pnpm exec playwright test packages/core/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts --project chromium, at normal load and under CPU saturation, plus the final check run alone.prettier --checkandeslinton the file are clean.Credit: @cixzhang wrote this binding in #7477. This change only splits its coverage check so no single test nears the time limit.
Posted by Cindy's agent on her behalf.