[moz] fix(test): 修复 integration/e2e 测试 sys.path 污染导致 CI 失败
根因:4 个测试文件在模块级别执行 sys.path.insert(0, DEPLOY_DIR), 即使测试被 deselect/conftest 跳过,模块仍被 import 触发 sys.path 污染。 后续测试 import src 时从安装目录加载(缺少新增模块如 algorithms/)。 修复:在 sys.path 操作前加 allow_module_level skip guard, 未设置 RUN_INTEGRATION 时跳过整个模块,不执行任何模块级代码。 影响文件: - tests/integration/test_e2e_api_s1_s8.py - tests/e2e/test_e2e_stress.py - tests/e2e/test_e2e_scenarios.py - tests/e2e/test_e2e_v27.py
This commit is contained in:
@@ -6,8 +6,14 @@
|
||||
需要 RUN_INTEGRATION=1 + 生产 daemon 运行。
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
if not os.environ.get("RUN_INTEGRATION"):
|
||||
pytest.skip("E2E tests require RUN_INTEGRATION=1", allow_module_level=True)
|
||||
|
||||
import json
|
||||
import re
|
||||
import sqlite3
|
||||
import sys
|
||||
@@ -17,7 +23,6 @@ from datetime import datetime, timedelta
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict
|
||||
|
||||
import pytest
|
||||
import requests as http_requests
|
||||
|
||||
# 指向部署目录
|
||||
|
||||
@@ -4,15 +4,20 @@
|
||||
需要 RUN_INTEGRATION=1 + 生产 daemon 运行。
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
if not os.environ.get("RUN_INTEGRATION"):
|
||||
pytest.skip("E2E tests require RUN_INTEGRATION=1", allow_module_level=True)
|
||||
|
||||
import json
|
||||
import sys
|
||||
import time
|
||||
import uuid
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List
|
||||
|
||||
import pytest
|
||||
import requests as http_requests
|
||||
|
||||
# 指向部署目录
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
import pytest
|
||||
import os
|
||||
|
||||
skip_no_integration = pytest.mark.skipif(
|
||||
not __import__("os").environ.get("RUN_INTEGRATION"),
|
||||
reason="Set RUN_INTEGRATION=1 to run E2E tests against real daemon",
|
||||
)
|
||||
|
||||
pytestmark = [pytest.mark.e2e, skip_no_integration]
|
||||
if not os.environ.get("RUN_INTEGRATION"):
|
||||
pytest.skip("E2E tests require RUN_INTEGRATION=1", allow_module_level=True)
|
||||
|
||||
"""v2.7 端到端测试 — 全链路真实环境
|
||||
|
||||
@@ -14,7 +11,6 @@ pytestmark = [pytest.mark.e2e, skip_no_integration]
|
||||
|
||||
import asyncio
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import uuid
|
||||
@@ -22,7 +18,6 @@ from datetime import datetime
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
import pytest
|
||||
from unittest.mock import MagicMock
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
@@ -6,14 +6,19 @@
|
||||
覆盖:项目管理 → Task CRUD → SubTask → Stage 进度 → 父状态聚合 → 依赖链 → 超时 → Mail
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
if not os.environ.get("RUN_INTEGRATION"):
|
||||
pytest.skip("Integration tests require RUN_INTEGRATION=1", allow_module_level=True)
|
||||
|
||||
import json
|
||||
import sys
|
||||
import uuid
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict
|
||||
|
||||
import pytest
|
||||
from unittest.mock import MagicMock
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
Reference in New Issue
Block a user