Files
ElyOffice/tasks/reviews/C07.1-r5.md
T

2.6 KiB

FAIL

crates/ely-lok/src/client/tests.rs:169 — R4 的宏回归测试缺陷仍在。样本仅绑定按钮事件,加载测试没有触发该事件;正向对照执行的是用户配置中的另一份库宏。隔离副本把 LOAD_OPTIONS 改为 EnableMacrosExecution=true,MacroSecurityLevel=0,重新构建工作进程后,a_macro_never_writes_its_marker 仍通过,无法检测加载时放开宏的回归。使用同一份带有效自动执行事件的文档验证禁用和放开两种配置,要求放开宏的变异使安全测试失败。

crates/ely-lok/src/worker.rs:250 — R4 的产品宏执行入口仍存在。运行时开关由环境变量换成了 --dev,公开的 Worker::spawn_dev 会传入该参数,release 构建也包含执行分支。实测新编译的 release 工作进程运行现有宏测试,run_macro 成功创建标记文件,违反 LOK-11;环境变量继承的旧路径已修复。将宏正向对照移到独立测试程序,移除产品工作进程中的宏执行入口,并验证 release 二进制在携带 --dev 时仍拒绝请求。

crates/ely-lok/src/client.rs:313 — R4 的完整 JSON 校验要求仍未满足。新解析器接受任意反斜杠转义及由数字、减号、小数点任意组合的值。通过 IPC 注入正确版本字段并追加 "invalid": --,或把 ProductName 写成非法 JSON 字符串 "Libre\Office",实测 Worker::spawn 均成功;有效的 "\u004cibreOffice" 又被误拒绝。R4 的嵌套花括号和缺值载荷已被拒绝,但畸形版本响应仍可通过固定构建校验。使用完整 JSON 解析核对顶层字段,覆盖非法数字、非法转义及合法 Unicode 转义。

scripts/build-libreoffice.sh:59 — 新增检查阻断全新构建。固定提交的原始 init.cxx 本身含有 old_line,脚本在第 64 行应用补丁前就以 has a reverted tile condition 退出。以该提交的原始文件搭建隔离缓存,实跑脚本退出码为 1,补丁与构建均未执行。先识别完整原始状态并应用补丁,再校验完整结果;覆盖空缓存首次构建路径。

scripts/build-libreoffice.sh:63 — R4 的残缺补丁校验缺陷仍在。原先恢复绘制条件的变异现已被拒绝,但两个 marker 仍无法证明全部修改已应用。隔离缓存应用完整补丁后,仅把像素复制分支恢复为 #ifdef _WIN32,保留设备分配与绘制条件修改;实跑脚本仍进入受控 make 桩并以 0 退出。该状态会在 macOS 编译掉向 pBuffer 复制像素的代码,使图块保持未写入。校验补丁全部修改及已知旧注释版本,残缺或未知状态明确失败,并覆盖逐项撤销补丁修改的回归测试。