Skip to content

test(solid): give the many decks and agents growth tests 180 s - #488

Merged
ixuz merged 1 commit into
mainfrom
fix/hcrw-growth-timeout
Nov 1, 2026
Merged

ixuz merged 1 commit into
mainfrom
fix/hcrw-growth-timeout

Conversation

@ixuz

@ixuz ixuz commented Nov 1, 2026

Copy link
Copy Markdown
Member

What and why

The toDecks and readDeckFile growth tests of GHSA-hcrw-cr33-jg78 map or parse thousands of decks many times over. On a laptop, run with every package's tests, they take about 6 and 8 seconds. CI is many times slower: coverage is on and every package's tests run at once on two cores. In #486's CI run, the toDecks test went past vitest's 60 s default and failed, though the ratio it checks was not the problem. #486 doesn't touch packages/solid; the test has been on main since #461, so any pull request can hit this.

What the tests hold to is the ratio of CPU time. The clock only stops a test that never ends. Both tests now get { timeout: 180_000 }, as the card writes' growth tests in solidDeckRepository.growth.test.ts already have, with the same comment saying why.

Refs: #486

Checklist

  • One issue. This pull request addresses one issue, linked above. (No issue was opened; it fixes the CI failure seen on fix(domain): look a draft's cards and wrong options up by id #486.)
  • One step. This pull request does not finish its issue, so it says Refs:, not Closes:. Leave this unchecked otherwise.
  • Done, as AGENTS.md defines it: npm run check passes (lint, Markdown and spelling included), npm run lint:reuse too if a file was added, and npm run crosscheck too if ns/ or decks/ changed. (npm run check passes; no file added, ns/ and decks/ unchanged.)
  • Tests. New and changed code has its tests, and every package stays at 100% coverage (docs/testing.md). (Only tests changed.)
  • Docs. The docs say what changed, and a new page in docs/ is listed in docs/docs.ttl. (n/a: the docs don't name test timeouts.)
  • Languages. A new or changed message is in every locale: en, sv, ko, de, es and fr (packages/ui/src/i18n/). (n/a: no message changed.)
  • Vocabulary and shapes. Any change to ns/ was agreed in an issue first; no published ns/shapes/*/vN.ttl or decks/*/vN.ttl was edited; generated files were regenerated, not edited. (n/a: nothing in ns/ or decks/.)
  • Breaking? Nothing in the public API breaks, or a commit says so (! and a BREAKING CHANGE: footer). npm run check:breaking sees a line of api/ that goes, but not a feature removed, nor a reader that reads less than before. (Tests only.)
  • Pod data. Any change to what the app writes to a pod comes with its migration (docs/migrations.md). (n/a: nothing written to a pod changed.)
  • Policy. Any change to an external rule the code follows (SM-2, the plural rules, a specification) is cited. (n/a.)
  • Licenses. New content is MIT, or a deck states its own license; a new file has its SPDX header (npm run lint:reuse), or a new deck its line in REUSE.toml; third-party content is credited. (n/a: no new file.)
  • Architecture. Imports follow docs/boundaries.md and the layers of docs/architecture.md. (No import changed.)
  • Run. I ran the app (npm run dev) and tried the change, and considered the user journeys. (n/a: tests only; nothing the app does changed.)
  • Authorship. I read and understand every line of this pull request, and answer for it, whatever tools helped write it (CONTRIBUTING.md).
  • Commits. Each commit is one logical change, in Conventional Commits form (type(scope): subject, ! and a BREAKING CHANGE: footer if it breaks something), with an imperative subject and a body that explains why (CONTRIBUTING.md).

The toDecks and readDeckFile growth tests of GHSA-hcrw-cr33-jg78 map
or parse thousands of decks many times over: about 6 and 8 seconds
with every package's tests on a laptop, and many times that in CI,
coverage on and every package's tests run at once on two cores. There
toDecks' test passed the 60 s default and failed, though its ratio
was not the matter. What the tests hold to is the ratio of CPU time;
the clock only stops a test that never ends, as the card writes'
growth tests already say with the same 180 s.
@ixuz ixuz added the bug Something isn't working label Nov 1, 2026
@ixuz
ixuz enabled auto-merge November 1, 2026 17:39
@ixuz
ixuz added this pull request to the merge queue Nov 1, 2026
Merged via the queue into main with commit 3918c9a Nov 1, 2026
51 checks passed
@ixuz
ixuz deleted the fix/hcrw-growth-timeout branch November 1, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant