fix(test): hevc 转码测试恢复 sys.modules 时删除全部 mock 条目
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m41s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m56s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m24s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m43s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m27s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m44s
AI Code Review / AI Code Review (pull_request) Successful in 4m40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m1s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 3m45s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m48s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m44s
CI/CD Pipeline / CI Gate (pull_request) Failing after 27s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 397h1m44s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 397h1m44s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 397h1m45s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 397h1m45s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 397h5m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 397h8m8s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 397h8m10s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 397h8m14s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 397h5m56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 397h8m16s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 397h5m56s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 397h8m39s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 397h8m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 397h8m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 397h8m18s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 397h35m54s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 397h35m55s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 397h42m15s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 397h42m21s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 397h42m30s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m41s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m56s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m24s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m43s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m27s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m44s
AI Code Review / AI Code Review (pull_request) Successful in 4m40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m1s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 3m45s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m48s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m44s
CI/CD Pipeline / CI Gate (pull_request) Failing after 27s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 397h1m44s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 397h1m44s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 397h1m45s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 397h1m45s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 397h5m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 397h8m8s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 397h8m10s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 397h8m14s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 397h5m56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 397h8m16s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 397h5m56s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 397h8m39s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 397h8m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 397h8m4s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 397h8m18s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 397h35m54s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 397h35m55s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 397h42m15s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 397h42m21s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 397h42m30s
#1566 v1 的恢复块保留了 video_processing.oss_helpers / thumbnail_generator 两个 mock 条目(误以为 patch.object 需要),导致同 xdist worker 后续测试 文件 import video_processing.* 仍拿到 MagicMock——test_thumbnail_generator 50 个用例继续失败(#1561/#1562 CI 实证)。 patch.object 不依赖 mock 条目留在 sys.modules:download_asset 已被 ingest_mod 顶部 from import 绑定;thumb patcher 为字符串目标,start 时会触发真实模块 重导入再打补丁。全部删除即可。
This commit is contained in:
@@ -53,11 +53,13 @@ import pytest # noqa: E402
|
||||
from worker_app.tasks import ingest as ingest_mod # noqa: E402
|
||||
|
||||
# ── 立即恢复 sys.modules,避免 mock 泄漏到其他测试文件 ──
|
||||
# 本文件 patch.object 不依赖 mock 条目保留在 sys.modules:download_asset
|
||||
# 已被 ingest_mod 顶部 from import 绑定;thumb patcher 是字符串目标,start
|
||||
# 时会触发真实模块重新导入后再打补丁(真实模块 CI 可导入)。因此注入的
|
||||
# mock 条目必须全部删除——若保留 video_processing.* mock,同 xdist worker
|
||||
# 后续测试文件 import 仍会拿到 MagicMock(#1566 v1 曾因此漏修)。
|
||||
for _key in list(sys.modules.keys()):
|
||||
if _key not in _SAVED_MODULES_KEYS:
|
||||
# 保留 mock 对象供本文件 patch.object 使用
|
||||
if _key in ("video_processing.oss_helpers", "video_processing.thumbnail_generator"):
|
||||
continue
|
||||
del sys.modules[_key]
|
||||
del _SAVED_MODULES_KEYS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user