fix: 回归脚本 Windows 可用 + 加"禁止对生产库跑"安全闸;迁移脚本去掉 GBK 控制台会崩的符号
- scripts/regression_test.py:
* signal.alarm 加 hasattr 守卫(Windows 上直接 AttributeError 退出,
backlog A4)→ 本机终于能跑"一条命令扫全接口 500"
* 新增安全闸:.env 声明 prod、或目标库 app_meta.deployment_env=prod 时
**拒绝运行**(exit 3)。本脚本会发真实写请求(设备池增删/剪贴板注入/
亮灭屏),跑在生产配置上就是拿正式数据做实验
- scripts/migrate_sqlite_to_mysql.py: stdout 重设为 UTF-8 并去掉 ✔/✘ 符号。
实测在 GBK 控制台里打印 ✔ 会抛 UnicodeEncodeError,而且崩在"写库标签"之前,
看起来像迁移失败(数据其实已搬完)
- doc/backlog/TODO.md: A4 移入已完成;gitignore 条目更新(mcp_audit.log 已补,
uiauto.pid 仍缺);登记 MySQL 迁移与回归安全闸
实测(对 192.168.2.27 的 auto_control_dev):数据迁移 12 张表逐表 SHA-256 一致;
应用直连 MySQL 全部接口 200,设备名/指纹唯一索引语义与 SQLite 一致(空值可重复、
非空重复被拦、大小写敏感 A08≠a08);备份导出→预览→应用往返正常。
This commit is contained in:
@@ -25,11 +25,34 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
# 干扰回归/占用设备——实测 ocr关键字任务每 30 分钟触发导致回归超时)
|
||||
os.environ["DISABLE_SCHEDULER"] = "1"
|
||||
|
||||
# 单接口超时保护:adb 相关接口可能慢(连接/查询设备),给足时间
|
||||
signal.alarm(300)
|
||||
# 单接口超时保护:adb 相关接口可能慢(连接/查询设备),给足时间。
|
||||
# Windows 没有 signal.alarm(会 AttributeError 直接崩),那里就靠调用方自己掐时间。
|
||||
if hasattr(signal, "alarm"):
|
||||
signal.alarm(300)
|
||||
|
||||
from web_server import app # noqa: E402 (导入即完成 app 装配,与生产一致)
|
||||
|
||||
# ================== 安全闸:绝不对生产库跑写操作 ==================
|
||||
# 本脚本会发真实写请求(设备池增删、剪贴板注入、亮灭屏…)。跑在连生产库的配置上
|
||||
# 就是拿正式数据做实验——直接拒绝启动。
|
||||
from core import db_config # noqa: E402
|
||||
|
||||
if db_config.DEPLOY_ENV == "prod":
|
||||
print("=" * 70)
|
||||
print("拒绝运行:当前 .env 声明 DEPLOY_ENV=prod,本脚本会发真实写请求。")
|
||||
print("回归测试请在 dev 环境跑(或先把 .env 指向 dev 库/临时库)。")
|
||||
print("=" * 70)
|
||||
sys.exit(3)
|
||||
with app.app_context():
|
||||
_labeled = db_config.meta_get("deployment_env")
|
||||
if _labeled == "prod":
|
||||
print("=" * 70)
|
||||
print("拒绝运行:目标库 %s 被登记为 prod 环境(app_meta.deployment_env)。"
|
||||
% db_config.describe_target())
|
||||
print("回归测试会写数据,不能对生产库执行。")
|
||||
print("=" * 70)
|
||||
sys.exit(3)
|
||||
|
||||
|
||||
# 流式/二进制接口:无法用普通 GET 断言,跳过(已有单独验证路径)
|
||||
_SKIP_PREFIXES = (
|
||||
|
||||
Reference in New Issue
Block a user