3.1 KiB
FAIL
crates/ely-lok/src/client/tests.rs:169 — R2 的宏回归测试缺陷仍在。正向对照调用的是预先写入用户配置的库宏;文档样本仅绑定按钮事件,加载流程没有触发该事件。隔离副本将 LOAD_OPTIONS 改成 EnableMacrosExecution=true,MacroSecurityLevel=0 后,a_macro_never_writes_its_marker 仍通过。测试无法检测加载时放开宏的回归。使用同一份带有效自动执行事件的文档分别验证禁用与放开两种加载配置,并要求放开宏的变异使安全测试失败。
crates/ely-lok/src/worker.rs:249 — 新增 RUN_MACRO 通道在正式构建中直接执行宏,绕过加载选项,违反 LOK-11。实测以 cargo build -p ely-lok --release --locked 生成的工作进程运行现有宏测试,Worker::run_macro("macro:///Standard.Module1.Sneaky") 成功创建标记文件;该接口与 IPC 分支均无测试配置限制。将允许执行宏的正向对照放入独立测试程序,移除产品工作进程中的宏执行入口,并验证正式二进制拒绝该请求。
crates/ely-lok/src/ipc.rs:15 — R2 的 Windows 配置路径修复仍生成错误的文件 URL。抽取实际 Windows 分支运行,\\?\C:\Users\test\profile 得到 file://C:/Users/test/profile,预期 file:///C:/Users/test/profile 的断言失败;盘符被放进 authority,指定配置目录无法正确表示。UNC 输入还得到 file:////server/share/profile。分别处理本地盘符与 UNC 的 authority/path,再编码路径内容;补充精确 URL 及 Windows 实际配置落点测试。
crates/ely-lok/src/client.rs:253 — R2 的版本校验仍通过文本搜索提取字段,接受畸形文本及错误层级的字段。注入工作进程返回顶层 ProductName=OtherOffice、ProductVersion=99.0、BuildId=wrong,同时在前置 metadata 对象内放入期望值,Worker::spawn 实测成功;去掉 JSON 大括号也被接受。固定构建契约仍可被错误版本响应绕过。解析完整 JSON,严格核对顶层版本结构及字段,并覆盖畸形载荷和嵌套同名字段。
crates/ely-lok/src/client.rs:182 — R2 的回收修复在关闭协议失败后直接等待子进程,遗漏终止仍存活的工作进程。注入完成版本及图块握手、收到 SHUTDOWN 后回复非法 tag 99 并持续存活的进程,shutdown() 超过 4 秒仍卡在等待,只有外部终止才能结束;Drop 走同一路径。保留关闭协议错误,在失败路径终止并回收子进程,再返回原始错误;增加非法应答且子进程继续存活的回归测试。
scripts/build-libreoffice.sh:58 — R2 的旧补丁缓存兼容改成单行 marker 检查,丢失完整补丁与未知改动校验。隔离缓存保留 SetOutputSizePixel(...),将绘制条件恢复成排除 MACOSX 的旧条件,实际脚本仍跳过补丁并进入 make;使用受控构建工具桩实测退出 0。在真实构建中,该条件会编掉 macOS 图块绘制,产物失去本任务要求的出图能力。校验完整补丁状态,对已知旧注释版本做受校验迁移,遇到缺失 hunk 或未知代码修改时明确失败;覆盖旧缓存重复运行及残缺补丁场景。