JianFeeeee
4e66e644da
test(security): 修 -race 下 TempDir 清理假红 —— 断言已过却被清理判失败
## CI 实证(run #86 / #87,Race detector 连续两次红)
失败信息自相矛盾:
--- FAIL: TestE2E_ResponseSecretNeverReachesContext (0.00s)
persist_leak_test.go:94: ✅ 回复侧明文未进 context;变量库 1 条
testing.go:1369: TempDir RemoveAll cleanup: unlinkat /tmp/TestE2E_.../001: directory not empty
断言全过、变量库也拦住了,唯一失败点是 `t.TempDir()` 的严格清理:RemoveAll
要 rmdir 那一刻,变量库还有一次落盘(saveLocked 的 tmp→rename)在途/刚落完,
于是判 "directory not empty"。本地不复现是因为机器快、时序不同;CI 在 -race
下慢一拍就撞上。
## 修法
`newScrubStore` 改为自建 MkdirTemp + 重试清理(50×20ms),最后尽力删除且
**不让清理失败污染判据**。安全判据本身没有放宽——只修测试基础设施。
## 验证
本地 `go test -race ./internal/agent/core/ ./cmd/waiter/ -count=1`:
两个包全绿(16.2s / 1.0s)。
2026-10-20 10:24:31 +08:00
..
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-20 09:33:08 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-18 17:40:07 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-12 14:26:13 +08:00
2026-10-12 10:13:36 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-12 14:26:13 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 13:20:54 +08:00
2026-10-18 13:20:54 +08:00
2026-10-12 14:26:13 +08:00
2026-10-12 14:26:13 +08:00
2026-10-17 19:18:24 +08:00
2026-10-12 14:26:13 +08:00
2026-10-12 10:13:36 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 13:07:40 +08:00
2026-10-18 17:40:07 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 18:01:15 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-09-19 16:49:16 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-20 08:57:36 +08:00
2026-10-20 09:16:07 +08:00
2026-10-20 09:16:07 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-06 09:22:12 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 13:07:40 +08:00
2026-10-18 13:07:40 +08:00
2026-10-18 13:07:40 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-09-13 08:59:15 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-09-13 07:00:51 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 13:07:40 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:53 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:53 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-17 19:18:24 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-20 09:33:08 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-20 09:16:07 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 06:38:51 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-13 16:18:13 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 13:20:54 +08:00
2026-10-20 09:16:07 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-05 11:25:20 +08:00
2026-10-20 10:24:31 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-08 10:40:17 +08:00
2026-10-18 06:38:51 +08:00