Skip to content

Converge the test suite: delete dead probes, promote live contracts, harden soft checks#71

Merged
johnsoncodehk merged 1 commit into
masterfrom
test-convergence
Jul 12, 2026
Merged

Converge the test suite: delete dead probes, promote live contracts, harden soft checks#71
johnsoncodehk merged 1 commit into
masterfrom
test-convergence

Conversation

@johnsoncodehk

Copy link
Copy Markdown
Owner

Summary

Follow-up to the test-suite audit: test/ had 99 files (~18k lines), but 19 of them had no automated entry point and several gates were weak or redundant. This PR converges to the effective set without losing any hard assertion.

Deleted (17 files + 2 orphaned src modules, −2,521 lines) — all had no entry point from check.ts, package.json, or CI:

  • one-off profiling/bench scripts: cpu-profile, profile-lines, profile-vs-tsc, profile-vs-peers, profile-portable-peers, emit-parser-bench, ab-emitted, treesitter-yaml-bench, plus the oxc-parse-bench/ and tsgo-parsebench/ peer dirs
  • stale probes superseded by real gates: treesitter-smoke, monarch-smoke, verify-rejects, snapshot, sanity-check
  • the token-DFA measurement spike (token-dfa-verify + its only consumer src/token-dfa.ts) and the execution tracer (exec-trace + src/trace-markers.ts, whose markers nothing in src/ imports)

Gate roster (43 → 44):

  • removed core/sanity (no-throw only, strictly subsumed) and highlighter/html-lexer-spike (demoted to the existing gate:html-lexer script; its failure modes are covered by html-conformance + self-close-sites + raw-text-case-sites)
  • promoted left-recursion, newline-mode, interpolation-metadata — unique hard contracts for shipped features that previously ran only via package scripts / the local verify loop

Hardened: html-embed-js's comparison against the official VS Code HTML grammar was report-only; it now ratchets at 216/221 boundary chars (the 5 known divergences are the <script ...>-tail delegation difference), so real boundary regressions fail the gate.

Deliberately kept: yaml-issue12-regressions / yaml-depth-witnesses (hand-written hard regression locks, cheap) and collect-conflicts (the documented tree-sitter conflict-closure workflow tool referenced from src/gen-treesitter.ts).

Test plan

  • npx tsc --noEmit clean
  • node test/check.ts — 44/44 gates pass
  • rg sweep: no dangling references to deleted files in src/, test/, docs/, .github/, package.json

…tracts to the gate

Delete 17 test files (~2500 lines) with no automated entry point: one-off
profiling/bench scripts (cpu-profile, profile-*, *-bench, ab-emitted), stale
smoke probes superseded by real gates (treesitter-smoke, monarch-smoke,
verify-rejects, snapshot), and the token-DFA measurement spike plus its only
consumer (src/token-dfa.ts). Remove src/trace-markers.ts alongside its only
reader (exec-trace).

Gate changes in check.ts:
- drop core/sanity (no-throw only; strictly subsumed by conformance and
  issue-cases) and highlighter/html-lexer-spike (kept as gate:html-lexer
  script; its failures are covered by html-conformance + *-sites gates)
- promote left-recursion, newline-mode, and interpolation-metadata: all
  three carry unique hard assertions for shipped features but previously
  ran only via package scripts or the local verify loop

Harden html-embed-js: the official-grammar boundary comparison was
report-only; now ratchets at 216/221 chars so boundary regressions fail.

44/44 gates pass.
@johnsoncodehk johnsoncodehk merged commit 6847134 into master Jul 12, 2026
3 checks passed
@johnsoncodehk johnsoncodehk deleted the test-convergence branch July 12, 2026 22:30
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