test: stabilize mysql full-suite validation
This commit is contained in:
+24
@@ -526,3 +526,27 @@
|
||||
- `py -3.12 manage.py test apps.users apps.billing --noinput --keepdb`:未作为绿灯;跑到 17/18 后 `ConcurrentDebitTests.setUp` 建连接超时。
|
||||
- 阻塞:当前没有代码阻塞;P2-1 已完成且相关测试通过。P2-2 需要稳定 MySQL 环境完成一次完整全量测试单次绿灯,当前远程实例仍在多连接/长测试期间间歇超时。
|
||||
- 下一步:若先处理 T-204 blocker,需要提供/切换稳定 MySQL 8.4 测试环境后重跑 `py -3.12 manage.py test --noinput`;若接受 T-204 无 P1 且不阻塞后续,可进入 T-301 API Key 鉴权。
|
||||
|
||||
## 2026-07-02 T-204 blocker 处理:MySQL 测试稳定性与完整测试补跑
|
||||
|
||||
- 状态:DONE
|
||||
- 变更:
|
||||
- `config/settings.py`:MySQL `OPTIONS` 增加 `MYSQL_CONNECT_TIMEOUT` / `MYSQL_READ_TIMEOUT` / `MYSQL_WRITE_TIMEOUT`,默认分别为 30 / 120 / 120 秒,避免远程测试库使用 PyMySQL 默认值导致连接稳定性误判。
|
||||
- `.env.example` / `docs/env.md` / `docs/03-tech-stack.md`:同步登记 MySQL 客户端超时配置。
|
||||
- `apps/billing/tests.py`:`ConcurrentDebitTests` 增加 `connections.close_all` cleanup,确保并发测试结束后 Django teardown 使用新连接,减少远程连接失效对 flush/post_migrate 的影响。
|
||||
- `docs/06-tasks.md` / `docs/current-state.md`:T-204 从 `BLOCKED` 更新为 `DONE`,下一步回到 T-301。
|
||||
- 验证:
|
||||
- `Test-NetConnection 43.128.3.240 -Port 3306`:通过,`TcpTestSucceeded=True`。
|
||||
- `py -3.12 manage.py shell -c "select version(), @@wait_timeout, @@interactive_timeout, @@connect_timeout, @@max_connections"`:通过;MySQL `8.4.8`,`max_connections=500`。
|
||||
- `py -3.12 -m py_compile config\settings.py apps\billing\tests.py`:通过。
|
||||
- `py -3.12 manage.py check`:通过,0 issues。
|
||||
- `py -3.12 manage.py makemigrations --check`:通过,No changes detected。
|
||||
- `py -3.12 manage.py test apps.users apps.billing --noinput --keepdb --verbosity 2`:通过,18 tests OK。
|
||||
- `py -3.12 manage.py test apps.ai --noinput --keepdb --verbosity 2`:通过,26 tests OK。
|
||||
- `py -3.12 manage.py test --noinput --keepdb --verbosity 2`:首次在测试库 setup/post_migrate 阶段遇到一次远程 MySQL read timeout,确认无残留 processlist 后立即重跑;第二次通过,44 tests OK,耗时 157.827s。
|
||||
- `py -3.12 -m compileall apps config`:通过。
|
||||
- `git diff --check`:通过,仅 Windows CRLF 提示。
|
||||
- `./init.ps1`:通过,依赖同步与基础检查正常。
|
||||
- 阻塞:无。远程 MySQL 仍可能偶发链路超时;后续测试不要并行跑共享同一 `test_cmhub` 的数据库测试,必要时用 `--keepdb` 串行重跑。
|
||||
- 决策:T-204 的 P2-2 已补齐单次完整测试全绿证据;并发扣点测试仍必须在 MySQL 上跑,SQLite 不可作为验收依据。
|
||||
- 下一步:领取 T-301 API Key 鉴权(DRF Authentication)。
|
||||
|
||||
Reference in New Issue
Block a user