Skip to content

test: drop redundant tests, render each page once, run SSR only in the ssr group - #110

Merged
datlechin merged 13 commits into
mainfrom
test/trim-suite
Oct 10, 2026
Merged

datlechin merged 13 commits into
mainfrom
test/trim-suite

Conversation

@datlechin

@datlechin datlechin commented Oct 10, 2026 •

Copy link
Copy Markdown
Member
  • LastModified reads git log once per run instead of once per URL: a sitemap was 739 git processes (6.9s), now one (0.2s). Same lastmod for all 740 URLs.
  • SSR is off in tests. requireSsr() turns it on, probes the service once per process, and makes a failed render throw instead of falling back to the client shell.
  • Tests that need SSR, the built bundle or node_modules sit in ->group('ssr'); requireSsr() / requireSsrJob() fail a test that isn't in it. The php job runs --exclude-group=ssr, the ssr job --group=ssr.
  • The registry is crawled once for props and once for SSR (seoCrawlProps(), seoCrawlHtml() in Seo/helpers.php), down from about ten crawls of 749 URLs.
  • The real-site sitemap is generated once per run (seoCommittedSitemap()).
  • Each page is rendered once per test file where several tests rendered it again (PageFrame, SiteChrome, Compare, Databases, Features, Pricing, About, Blog, Download, iOS).
  • Locale datasets cut to en + vi where the behaviour does not depend on the locale.
  • Tests whose assertions already exist in another test are removed or merged into it.
  • DeployScriptTest shares sandbox runs: 14 full runs down to 7, plus 3 that skip the git setup.
  • BannedClaims, Wording, ContentParity and AssetManifest build their regexes, rule lists and fixtures once.
  • Comment blocks cut to one-line reasons.
  • 2624 → 2127 cases. CI test step: php 162s → 52s, ssr 250s → 40s. Peak memory fits the default 512M.

@datlechin
datlechin merged commit e14bc0d into main Oct 10, 2026
4 checks passed
@datlechin
datlechin deleted the test/trim-suite branch October 10, 2026 17:16
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.

1 participant