Skip to content

fix(deps): unblock test suite after vitest 4 + pytest 9 bumps#6

Merged
valehdba merged 1 commit into
mainfrom
fix/post-merge-test-deps
May 9, 2026
Merged

fix(deps): unblock test suite after vitest 4 + pytest 9 bumps#6
valehdba merged 1 commit into
mainfrom
fix/post-merge-test-deps

Conversation

@valehdba
Copy link
Copy Markdown
Owner

@valehdba valehdba commented May 9, 2026

Summary

Two regressions surfaced when dependabot's npm and pip bumps landed on main alongside #5. Each was green in its own PR's CI; together they aren't.

What broke

  1. vitest 4 removed the trailing-options form. packages/core/tests/kdf.test.ts used describe(name, fn, { timeout: 30_000 }), which vitest 3 deprecated and vitest 4 removed. Result: the suite refused to load with TypeError: Signature \"test(name, fn, { ... })\" was deprecated in Vitest 3 and removed in Vitest 4.

  2. pytest-asyncio==0.24.0 is capped at pytest<8.4. Once pytest==9.0.3 landed, pip install -e \".[dev]\" failed with ResolutionImpossible, which in turn caused pytest to fail at conftest import (No module named 'passman').

What changed

  • packages/core/tests/kdf.test.ts — move { timeout: 30_000 } to the second positional arg (describe(name, opts, fn)).
  • server/pyproject.toml — bump pytest-asyncio==0.24.0 → 1.3.0 (first line that supports pytest 9). Comment explains the cap so a future reader doesn't downgrade by reflex.
  • package-lock.json — minor drift: npm tightened the vitest constraint from ^4.1.5 to the exact version after npm install. Included so the lockfile matches the resolver's canonical output.

Verification

  • npm test --workspaces --if-present25 passed, 1 skipped in core; web --passWithNoTests clean.
  • npm run typecheck --workspaces --if-presentclean across core, web, extension.
  • npm run build --workspace=@passman/coreclean.
  • npm run build --workspace=@passman/webclean (vite build).
  • cd server && pytest -q32 passed, 83.45% coverage (above 80% gate).

🤖 Generated with Claude Code

Two regressions surfaced once dependabot's npm and pip bumps landed on
main alongside the credential-grid PR:

1. packages/core/tests/kdf.test.ts used the trailing-options form
   `describe(name, fn, opts)` which vitest 3 deprecated and vitest 4
   removed. Move the `{ timeout: 30_000 }` to the second positional arg
   per the new signature. 25/26 vitest tests pass again (1 skipped is
   the network-bound integration suite).

2. server/pyproject.toml pinned `pytest-asyncio==0.24.0`, which caps at
   pytest<8.4 and so refused to install alongside `pytest==9.0.3` from
   the dependabot bump. The 1.x line is the first that supports
   pytest 9 — bump to `pytest-asyncio==1.3.0`. 32/32 pytest tests pass
   with 83% coverage restored.

Lockfile drift: npm tightened the `vitest` constraint from `^4.1.5` to
the exact version after `npm install`; included so the committed
lockfile matches the resolver's canonical output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@valehdba valehdba merged commit 3ac1e8c into main May 9, 2026
7 checks passed
@valehdba valehdba deleted the fix/post-merge-test-deps branch May 9, 2026 12:03
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