Skip to content

Test tiers: split slow e2e and upstream-gated live out of default integration glob - #12606

Open
backryun wants to merge 7 commits into
diegosouzapw:release/v3.8.51from
backryun:chore/test-tiersplit-12539
Open

Test tiers: split slow e2e and upstream-gated live out of default integration glob#12606
backryun wants to merge 7 commits into
diegosouzapw:release/v3.8.51from
backryun:chore/test-tiersplit-12539

Conversation

@backryun

@backryun backryun commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Moves eight slow hermetic integration suites into tests/integration/e2e/ and seven upstream-gated suites into tests/integration/live/, reducing the default integration collector from 115 to 100 files while retaining all assertions and existing live-test opt-in gates. Adds test:integration:e2e and test:integration:live and wires both tiers after the default integration step in CI; shared helpers remain at the integration root.

Depends on #12588. The original DB/selector repair is now in that prerequisite as 1188722, retaining its author, message, and Diego co-author trailer. This PR adds only the integration-tier split above the corrected parent.

Validation:

  • 43 targeted runner, selector, and DB-import tests passed after restacking.
  • Test discovery passed with 34 collectors.
  • Updated-head CI completed: Docs, Vitest, ESLint, and Semgrep passed. API/Open-SSE typechecks, changelog integrity, and unit shards remain red; full-suite and coverage success are not claimed.

⚠️ base-red inherited: #12732

The separate base repair candidate is #12333. This PR does not incorporate its production fixes.

Landing sequence: relocation #12588 → this integration split → quick-tier and deterministic-fixture continuation #12760. Refs #12539; the overall test-efficiency effort remains open.

backryun added 4 commits September 5, 2026 07:25
Moves all ~4.3k tests/unit/*.test.* files into per-prefix subdirectories
(e.g. chatcore/, combo/, translator/, cli/, db/, provider/) plus misc/ for
the unclassifiable tail. No test logic changed except one-level-deeper
relative import/path fixes.

Syncs the 4 runner-glob owners (package.json test:unit scripts,
check-test-discovery.mjs, build-test-impact-map.mjs, merge-train.sh),
renames quality-baseline keys (file-size, eslint-suppressions,
test-masking-allowlist), and updates docs/ test-path references so the
fabricated-docs, test-discovery, file-size and masking gates stay green.

Refs diegosouzapw#12539
- stryker.conf.json: remap 338 tap.testFiles entries from flat
  tests/unit/*.test.ts paths to their new per-prefix subdirs
  (fixes check:mutation-test-coverage --strict).
- tests/unit/serial/: evict refresh-serializer*.test.ts misclassified
  by substring match into the concurrency quarantine; they belong to
  oauth/. Drop serial from the parallel runner brace so the
  quarantine is not double-executed (fixes test-serial-quarantine).
claude-fable, embedding-clova, obscura, provider-cost-data,
translator-clova-v3 -> per-prefix subdirs. flat = 0 again.
@backryun
backryun force-pushed the chore/test-tiersplit-12539 branch from bf9d28f to a73464f Compare September 4, 2026 22:32
backryun and others added 3 commits September 5, 2026 11:25
… tier split

The suite relocation left tests/unit/db/db-pre-migration-backup-retention-10421.test.ts importing ../../src (resolves to tests/src), and merge-train.sh / TIA omitted the moonshot and seekai prefixes that test:unit actually runs.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…tegration glob

Moves 8 slow hermetic suites (batch-e2e 150s, live-ws-heartbeat 54s,
resilience-http 36s, +5) to tests/integration/e2e/ with a dedicated
test:integration:e2e script, and 7 upstream-gated suites (live-gemini*,
gemini-live-429, codex-chat-reasoning, wire-capture) to
tests/integration/live/ with test:integration:live. Shared helpers used
by both tiers stay at tests/integration/ root; tier-private helpers move
along. CI runs both tiers after the default suite so no assertions stop
running anywhere.

Default test:integration: 115 -> 100 files. Pre-existing failures
(combo-failover/routing assertions, resilience-http-e2e 1 case) unchanged
and out of scope.

Refs diegosouzapw#12539
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