You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Worker mutation score: 90.07% → **90.79%** (+0.72). `break` threshold
88 → 90. Key additions target mutants Stryker marked as "survived"
where the original test was too loose to distinguish a semantic
mutation from the real behavior.
**xlsx-build.ts 68.37% → 72.45%**
- New boundary tests for `sanitizeSheetName` — 31 chars exact vs 32
chars, pinning the `base.length > 31` predicate.
- Four new `csvToBinaryWorkbook` tests pin the numeric-coercion regex
`/^-?\d+(\.\d+)?$/` against each of the four surviving mutations:
- `"abc42"` stays string (catches the `^` anchor drop)
- `"42abc"` stays string (catches the `$` anchor drop)
- `"1.234"` becomes number (catches `+` quantifier drop)
- `"1.abc"` stays string (catches `\d` → `\D` swap)
**d1-schema.ts (unchanged file score — schema is now pinned)**
- Existing `withRoomsSchema` test checked `.toContain('CREATE TABLE')`
against the exec'd SQL; added column-definition asserts so
StringLiteral mutations that zero-out the column list don't survive
the prefix-only check. Same for `cron_triggers`.
- New cross-table cases: an error about a *different* table must NOT
trigger the current schema's retry — pins the `'rooms'` and
`'cron_triggers'` table-name literals that flow into
`isMissingTableError`.
**migrate-auth.ts — timing-safe loop body**
- Added two `verifyMigrateToken` cases with same-length tokens that
differ in a single byte (last byte, first byte). Previous "bad"
tests all short-circuited at the length check, leaving the XOR
loop body unexercised — so `i < a.length` → `i >= a.length` could
survive by skipping the loop and returning `ok` (all-zero diff).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments