feat(迭代29 T4): L3 屏壳切换探针 screen_flow_probe,入轻闸默认段
新建 game/smoke/screen_flow_probe.gd/.tscn:走 菜单→营地→菜单→冒险→(关卡屏⇄战斗屏)→放弃→终局→菜单 六步主流程与两条回退路径,每步断言屏级互斥 + 流程状态位。与 ui_click_probe 分工:那件走「点某个按钮 有没有反应」的行为走查(含战斗推进与结算数值面),本件只走屏壳与流程状态,不推进战斗不碰结算数值 ——全库 change_scene 零命中、屏切换全靠 visible 互斥,这正是最容易被装配顺序改动悄悄破坏的面。 判据两处订正(首跑实测抓出,都写进注释防复发): ① 屏标记不能裸看 visible——战斗容器 battle_root 在局外也 visible,会把 boot 态误判成「菜单与冒险 同时在场」;冒险屏改取流程状态位 run_scope.is_adventure。 ② 互斥不能用「可见屏计数 ≤1」——终局覆盖层合法叠在冒险内容之上(终局态 is_adventure 尚未收束, 是设计如此);改为冲突对判定,合法叠加仅「终局+冒险」这一对。 变异验证:boot 后强置 camp_overlay.visible=true → 精确命中「菜单与营地同时在场」两条断言见红。 run_all.gd:负面套件(negative=true)全文输出折叠、只回显结论行——它输出里的 Parse Error 是预期产物, 回显出去会让编排层的日志扫描把集成/负面用例的正常输出误判成真实脚本错误(首跑即撞)。 入轻闸默认段(ui_contrast 之后);轻闸 --quick 墙钟 363s → 405s(新探针约 40s),轻闸上限内。
This commit is contained in:
1 parent
c4fa65ef44
commit
1458d94b0e
4 files changed
+206
-2
No files matched your search
@@ -93,8 +93,14 @@ func _run_suite(suite: Dictionary, idx: int) -> int:
|
||||
var out := PackedStringArray()
|
||||
var code: int = OS.execute("cmd.exe", PackedStringArray(["/c", cmd]), out, true, false)
|
||||
var text := FileAccess.get_file_as_string(log) if FileAccess.file_exists(log) else ""
|
||||
print(text)
|
||||
if not bool(suite.get("negative", false)) and _has_script_error(text):
|
||||
var negative := bool(suite.get("negative", false))
|
||||
# 负面套件(坏表/违规输入是它的测试目标)全文折叠,只回显结论行——
|
||||
# 它输出里的 Parse Error 是预期产物,回显出去会让编排层的日志扫描误判成真实脚本错误。
|
||||
if negative:
|
||||
print("[run_all] %s:负面套件——全文输出已折叠(输出中的错误为其测试目标,非缺陷)" % path)
|
||||
else:
|
||||
print(text)
|
||||
if not negative and _has_script_error(text):
|
||||
push_error("[run_all] FAIL %s — 输出含脚本错误标记:%s" % [path, _script_error_line(text)])
|
||||
return 1
|
||||
if code != expect:
|
||||
|
||||
Reference in new issue
Block a user