Commit 29ef049
committed
fix(service-datasource): 补 vitest 超时配置覆盖空洞并复核 pool 用例并发隔离 (#6044)
两条腿:
1. 覆盖空洞:本包此前没有任何 vitest 配置文件,全部用例吃 vitest 默认
5000ms —— #4856 把 testTimeout 逐包落在各包自己的 vitest.config.ts,
结构上覆盖不到没有该文件的本包。补 vitest.config.ts,testTimeout: 60_000
沿用 #4856 的取值不引入新数字,落在配置层使后续新增用例到达即被覆盖。
实测:flaky 用例(datasource-pool-support :122)是全文件第一个走到
`await import('@objectstack/driver-sql')`(knex)的用例,空载 1088ms,
对 5000ms 只有约 4.6 倍余量,队列全量并发下被吃掉即超时 —— 与签名吻合
(仅队列全量构建间歇红,受害 PR 自身全绿)。探针复核:6s 睡眠用例改前
以 "Test timed out in 5000ms" 变红、改后 6.2s 变绿,证明包级配置即生效层。
2. 并发隔离复核(分诊座位明令不许只调超时收尾):逐项排查文件/句柄/共享
状态 —— sqlite 构建落 :memory: 且生产路径不探测、不开连接、native addon
惰性不加载,零文件 I/O;Door-1 各用例 disconnect 销毁空 knex pool;
Door-2/3 全部用 per-case fake;无临时文件、无端口、无跨用例可变共享状态。
结论:该红是真实一次性导入成本上的负载方差,不是泄漏,无需修隔离。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015a5qkLzpGXhLL2F5gvJ7dD1 parent be59695 commit 29ef049
2 files changed
Lines changed: 53 additions & 0 deletions
File tree
- .changeset
- packages/services/service-datasource
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
0 commit comments