現象
packages/@nitpicker/crawler/src/archive/ 配下の複数の migrate 系 spec ファイル(例: migrate-info-main-content-selector.spec.ts と migrate-list-reconcile-runs-invalid-skipped.spec.ts)が、同一ディレクトリ内の __mock__(path.resolve(__dirname, '__mock__')、実体は __mock__/mock.sqlite)を共有している。
vitest の並列実行時に、この共有ファイルへの同時アクセスが原因と見られる disk I/O error / attempt to write a readonly database で偶発的にテストが失敗することを確認した(yarn test を連続実行して2回失敗 → 3回目で全通過、というケースあり)。該当ファイル自体に変更を加えていなくても、他の無関係なファイル追加でテストファイル数・並列度の配分が変わるだけで顕在化する。
対処案
__mock__ ディレクトリをファイルごとに固有の名前にする(例: spec ファイル名を含んだディレクトリ名にする、または beforeEach/afterEach で一時ディレクトリを都度生成する)。
影響範囲
該当する migrate 系 spec の setup/teardown ロジックのみ。プロダクションコードへの影響なし。
現象
packages/@nitpicker/crawler/src/archive/配下の複数の migrate 系 spec ファイル(例:migrate-info-main-content-selector.spec.tsとmigrate-list-reconcile-runs-invalid-skipped.spec.ts)が、同一ディレクトリ内の__mock__(path.resolve(__dirname, '__mock__')、実体は__mock__/mock.sqlite)を共有している。vitest の並列実行時に、この共有ファイルへの同時アクセスが原因と見られる
disk I/O error/attempt to write a readonly databaseで偶発的にテストが失敗することを確認した(yarn testを連続実行して2回失敗 → 3回目で全通過、というケースあり)。該当ファイル自体に変更を加えていなくても、他の無関係なファイル追加でテストファイル数・並列度の配分が変わるだけで顕在化する。対処案
__mock__ディレクトリをファイルごとに固有の名前にする(例: spec ファイル名を含んだディレクトリ名にする、またはbeforeEach/afterEachで一時ディレクトリを都度生成する)。影響範囲
該当する migrate 系 spec の setup/teardown ロジックのみ。プロダクションコードへの影響なし。