问题 - 索引中该目录记为小写 `scripts/`,工作区实为 `Scripts/`。因 core.ignorecase=true, 本地 `git diff -- Scripts/bin/x.py` 会**静默返回空**(看似无改动), 且在大小写敏感环境(Linux CI / Docker 挂载)会检出 `scripts/`, 与全仓所有 `Scripts/...` 引用不匹配。 - 该目录此前 10 个脚本(check_python_version.py、perf_snapshot.py、 install_collector_launchd.py、mysql_toggle.sh 等)从未入库, 而 CI 第 31 行正调用 `Scripts/bin/check_python_version.py --strict` —— 全新检出必然失败。 改动 - 索引路径统一为 `Scripts/`(工作区文件未移动,仅索引改名)。 - 补齐上述 10 个未跟踪脚本及其测试。 影响 - 修正前索引 35 条(全为小写路径),修正后 45 条。
18 lines
630 B
Python
18 lines
630 B
Python
# coding=utf-8
|
|
"""Scripts/bin 测试公共 fixture.
|
|
|
|
预先注入 pymysql mock,使 db_pool 模块能在无 pymysql 环境下被导入。
|
|
"""
|
|
|
|
import sys
|
|
import types
|
|
|
|
# db_pool.py 顶层 import pymysql,测试环境可能未安装,
|
|
# 注入一个空模块使导入成功,具体行为由测试中的 patch 控制。
|
|
if "pymysql" not in sys.modules:
|
|
_pymysql_mock = types.ModuleType("pymysql")
|
|
_pymysql_mock.connect = lambda **kw: None
|
|
_pymysql_mock.Error = type("Error", (Exception,), {})
|
|
_pymysql_mock.OperationalError = type("OperationalError", (Exception,), {})
|
|
sys.modules["pymysql"] = _pymysql_mock
|