Skip to content

chore(stryker): register the two test files covering three mutated modules - #11577

Merged
diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.51from
ntdatt812:chore/stryker-tap-testfiles-drift
Aug 26, 2026
Merged

diegosouzapw merged 2 commits into
cheaper-inference:release/v3.8.51from
ntdatt812:chore/stryker-tap-testfiles-drift

Conversation

@ntdatt812

Copy link
Copy Markdown
Contributor

The gate

Fast Quality Gates fails on every branch. One of its two failing sub-checks is
check:mutation-test-coverage --strict
(job):

Mutation test-coverage gate — tap.testFiles drift detection
===========================================================
Scanned 4564 unit test file(s) against 31 mutated module(s).

  src/server/authz/routeGuard.ts
    + tests/unit/authz/route-guard-tunnel-processes-local-only.test.ts

  open-sse/services/combo/quotaScoring.ts
    + tests/unit/universal-quota-aware-routing.test.ts

  open-sse/services/combo/quotaStrategies.ts
    + tests/unit/universal-quota-aware-routing.test.ts

✗ 3 covering unit test(s) across 3 module(s) are missing from stryker.conf.json
  tap.testFiles. Add them so their mutant kills count (--strict).

Two test files, three module credits.

Why it matters beyond the red X

tap.testFiles is the explicit set Stryker runs — the file's own comment says so. A
test that covers a mutated module but sits outside that set contributes no mutant
kills
, so the module's score understates what the suite already proves. Both of these
are recent additions whose authors had no reason to know about the list.

Verification

The gate's own inputs, read straight out of the repo:

claim check
all three modules are mutated mutate contains src/server/authz/routeGuard.ts, open-sse/services/combo/quotaScoring.ts, open-sse/services/combo/quotaStrategies.ts — all true
both test files exist tests/unit/authz/route-guard-tunnel-processes-local-only.test.ts (2.2K), tests/unit/universal-quota-aware-routing.test.ts (7.9K)
the coverage is real, not incidental the first imports LOCAL_ONLY_API_GET_EXEMPTIONS, LOCAL_ONLY_API_PREFIXES, isLocalOnlyPath from routeGuard.ts; the second does await import("../../open-sse/services/combo/quotaScoring.ts") and .../quotaStrategies.ts on lines 7–8
neither was listed tap.testFiles.includes(...) → false for both, before; true for both, after
nothing else moved 344 → 346 entries; the one pre-existing duplicate (aihorde-optional-api-key.test.ts) and the pre-existing prettier --check complaint on this file are unchanged, and I left both alone as out of scope

Both paths are inserted in their sorted positions, matching the rest of the list.

A note on how I confirmed this: node scripts/check/check-mutation-test-coverage.mjs --strict exits 0 on my Windows host while CI exits 1, so the scanner appears to
mis-resolve paths on win32 — the same class of separator bug as elsewhere in this repo.
I did not chase it here; the config drift above is verified directly against
stryker.conf.json and the two test files rather than through the scanner. Happy to
open a separate issue for the win32 false-pass if that is useful, since it means a
Windows contributor cannot see this gate fail before pushing.

Config-only: no code, no tests, no behaviour change.

…dules

`check:mutation-test-coverage --strict` — a Fast Quality Gates sub-check — fails on
every branch:

    ✗ 3 covering unit test(s) across 3 module(s) are missing from
      stryker.conf.json tap.testFiles.

      src/server/authz/routeGuard.ts
        + tests/unit/authz/route-guard-tunnel-processes-local-only.test.ts
      open-sse/services/combo/quotaScoring.ts
        + tests/unit/universal-quota-aware-routing.test.ts
      open-sse/services/combo/quotaStrategies.ts
        + tests/unit/universal-quota-aware-routing.test.ts

All three modules are in `mutate`; both test files exist and import the module they
are credited with. `tap.testFiles` is the explicit set Stryker runs, so a covering
test outside it means its mutant kills are not counted — the three modules score
lower than the suite actually earns.

Adds both paths in their sorted positions. Config-only.
@diegosouzapw
diegosouzapw merged commit 5c1a882 into cheaper-inference:release/v3.8.51 Aug 26, 2026
10 of 16 checks passed
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…dules (cheaper-inference#11577)

Merged via /merge-batch (lote 2026-08-26, v3.8.51). Boarded no worktree combinado junto com outras ~30 PRs; validação única: typecheck/complexity/cognitive-complexity/changelog-integrity verdes, file-size rebaseado onde necessário (crescimento legítimo), lint com os mesmos 228 achados pré-existentes confirmados via sonda contra o tip puro (não introduzidos por este lote), e ~370 testes focados (unit + vitest) passando. Obrigado pela contribuição.
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.

2 participants