Skip to content

TEST-UNIFY-0: unified dual-output test harness (reusable libs, HTML+images+video / JSON)#120

Merged
mvalancy merged 1 commit into
devfrom
test/unified-harness-phase0
Jun 18, 2026
Merged

TEST-UNIFY-0: unified dual-output test harness (reusable libs, HTML+images+video / JSON)#120
mvalancy merged 1 commit into
devfrom
test/unified-harness-phase0

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Phase 0 of the test-tree refactor (non-destructive). One entry npm run test:unified runs a profile of sequences from reusable tests/lib/ modules and emits report.html (embedded screenshots + .webm video clips) AND report.json (schema graphdone.unified-report/1). Exit code = rollup status (CI-gateable).

Verified: aggregate node:test 10/10 · smoke profile 212✓ (web unit 205 + THE GATE 5 + auth e2e 2) · showcase sequence embeds 5 video + 5 screenshots. No specs moved/deleted; gate unchanged. Phases 1-6 (clean-tree reorg) plan at docs/test-tree-refactor-plan.json.

🤖 Generated with Claude Code

…ase 0, non-destructive)

One reproducible entry (npm run test:unified) runs a declarative profile of
sequences and emits BOTH a human-readable report.html (per-sequence pass/warn/fail
with embedded <img> screenshots + <video> .webm clips) AND a machine-parsable
report.json (schema graphdone.unified-report/1) + per-sequence JSON.

Reusable lib (tests/lib/):
- reporting/aggregate.mjs — pure rollup (rollupStatus/statusFromCounts/sumCounts/
  buildReport), node:test 10/10
- reporting/json.mjs, reporting/html.mjs — dual reporters (html embeds images+video)
- runner/runSequence.mjs — argv-array spawn, captures exit/stdout/duration
- adapters/playwright.mjs — parse PW JSON + harvest video/screenshot attachments
- adapters/vitest.mjs — parse vitest JSON into case counts
- sequences/unified.config.mjs — declarative sequences + profiles (smoke|pr|full|report)
- run-unified.mjs — entry; copies artifacts into assets/, writes both reports,
  exit code = rollup status (doubles as a gate)

Phase 0 is additive only — no specs moved/deleted; THE GATE unchanged. Verified:
smoke profile 212✓ (web unit 205 + gate 5 + auth e2e 2); showcase sequence harvests
5 .webm + 5 screenshots and embeds them (5 <video> + 5 <img>). Plan for phases 1-6
(clean-tree reorg) saved at docs/test-tree-refactor-plan.json.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mvalancy mvalancy merged commit 9e67243 into dev Jun 18, 2026
@mvalancy mvalancy deleted the test/unified-harness-phase0 branch June 18, 2026 18:31
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

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