Run all tests and benchmarks with Bun #291

Closed
opened 2026-10-17 02:35:37 +02:00 by nessar · 0 comments
Owner

What to build

Developers and CI can run the complete existing functional and
Angular component suite with Bun's native test runner, obtain preserved coverage
reports, and run the required planning benchmark without changing its acceptance
standards.

Acceptance criteria

  • Replace Vitest cohesively across the entire existing suite, including test
    compilation, setup, imports, typings, snapshots/serializers where used,
    commands, fixtures, and CI test and benchmark invocations. Remove replaced
    runner integration after checking all callers; retain every existing test
    case and assertion.
  • Angular component and service tests use the verified DOM and TestBed setup.
    Parameterized cases, date controls, global mocks, cleanup, and isolation
    behave as before, including preventing globals from leaking between files.
  • Preserve planning integration, property-based, saved-input migration,
    date-sensitive, and cancellation coverage. Planning outcomes, leave
    placements, plan statistics, and plan explanations retain their behavior.
  • Real-worker and subprocess tests execute under Bun and still verify the
    submitted configuration, result/explanation delivery, and worker cleanup.
    Update executable fixtures coherently and preserve the browser worker
    contract; using Node for test subprocesses is not an acceptable workaround.
  • Functional coverage retains the verified reporting capabilities, current
    production-code scope, and frozen-engine exclusion. Required report formats
    cannot be silently dropped; an unsupported capability remains a blocker.
  • CI retains functional coverage artifacts, including useful failure-path
    reports, using the same exact Bun release selected in ticket 01.
  • The separate benchmark runs outside coverage and retains all seven scenarios,
    frozen-engine calibration, warm-up, measured repetitions, determinism
    assertions, timeouts, and performance budgets. Preserve existing resource
    constraints and report any runtime-specific enforcement gap.
  • Run the full functional suite and the complete benchmark protocol, recording
    results and actual failures. Do not relax assertions, skip cases, or adjust
    benchmark budgets to obtain a pass; Bun measurements do not establish
    browser or reference-phone speedups.
  • Update test and benchmark command documentation. Work on the shared Bun
    integration branch and pass ticket 05's final gate with tickets 02 and 04;
    do not retain a parallel legacy runner to make intermediate batches green.

Blocked by

  • #289 — Verify Bun and Angular compatibility
## What to build Developers and CI can run the complete existing functional and Angular component suite with Bun's native test runner, obtain preserved coverage reports, and run the required planning benchmark without changing its acceptance standards. ## Acceptance criteria - [ ] Replace Vitest cohesively across the entire existing suite, including test compilation, setup, imports, typings, snapshots/serializers where used, commands, fixtures, and CI test and benchmark invocations. Remove replaced runner integration after checking all callers; retain every existing test case and assertion. - [ ] Angular component and service tests use the verified DOM and TestBed setup. Parameterized cases, date controls, global mocks, cleanup, and isolation behave as before, including preventing globals from leaking between files. - [ ] Preserve planning integration, property-based, saved-input migration, date-sensitive, and cancellation coverage. Planning outcomes, leave placements, plan statistics, and plan explanations retain their behavior. - [ ] Real-worker and subprocess tests execute under Bun and still verify the submitted configuration, result/explanation delivery, and worker cleanup. Update executable fixtures coherently and preserve the browser worker contract; using Node for test subprocesses is not an acceptable workaround. - [ ] Functional coverage retains the verified reporting capabilities, current production-code scope, and frozen-engine exclusion. Required report formats cannot be silently dropped; an unsupported capability remains a blocker. - [ ] CI retains functional coverage artifacts, including useful failure-path reports, using the same exact Bun release selected in ticket 01. - [ ] The separate benchmark runs outside coverage and retains all seven scenarios, frozen-engine calibration, warm-up, measured repetitions, determinism assertions, timeouts, and performance budgets. Preserve existing resource constraints and report any runtime-specific enforcement gap. - [ ] Run the full functional suite and the complete benchmark protocol, recording results and actual failures. Do not relax assertions, skip cases, or adjust benchmark budgets to obtain a pass; Bun measurements do not establish browser or reference-phone speedups. - [ ] Update test and benchmark command documentation. Work on the shared Bun integration branch and pass ticket 05's final gate with tickets 02 and 04; do not retain a parallel legacy runner to make intermediate batches green. ## Blocked by - #289 — Verify Bun and Angular compatibility
nessar added the ready-for-agent label 2026-10-17 02:35:37 +02:00
nessar added a new dependency 2026-10-17 02:35:38 +02:00
nessar added a new dependency 2026-10-17 02:35:38 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Blocks Depends on
Reference: nessar/vac-optimizer#291