2.1 KiB
FAIL
scripts/inert-lo.sh:14 — 注销操作缺少幂等性,阻断后续构建。复现:对真实构建包的副本先执行 lsregister -f,再连续执行两次 scripts/inert-lo.sh;第一次退出 0,第二次退出 1,报 failed to scan ...: -10814。尚未登记的新副本同样退出 1。scripts/build-libreoffice.sh:87 每次构建都调用该脚本,已注销状态因此使正常重建失败。修复方向:明确识别并接受登记记录已经不存在的状态,继续暴露其他注销错误,覆盖首次执行与重复执行。
tests/scripts/lo-unregistered.sh:23 — || true 吞掉 Swift 查询失败,并将空输出当作验收成功。复现:在 PATH 前置一个向 stderr 输出错误并退出 42 的 swift,运行该检查仍退出 0,打印 ok: no LibreOffice in Open With,整个 NSWorkspace 查询均未执行。修复方向:单独检查 Swift 的退出状态,成功取得查询结果后再筛选 LibreOffice;查询失败必须使验收失败。
tests/scripts/lo-unregistered.sh:10 — PlistBuddy 的读取错误被当作声明键缺失。复现:在隔离副本中创建预期的 LibreOffice.app/Contents/Info.plist,内容写入 this is invalid plist data,运行检查仍退出 0 并打印成功。损坏的构建包配置因此通过结构验收。修复方向:先要求 plist 存在、可读且解析成功,再检查各声明键是否缺失;为损坏或缺失 plist 添加失败用例。
crates/ely-lok/src/client/tests.rs:294 — 官方内核负向测试接受任意启动错误,无法证明提取出的内核实际经过版本与图块检查。复现:官方内核目录存在时,设置 ELY_LOK_WORKER=/usr/bin/false,单独运行 client::tests::an_unpatched_build_is_rejected,测试仍在 0.00 秒内通过,LibreOffice 完全未加载。独立实测提取出的官方内核能返回固定 BuildId,图块自检改写字节数为 0。修复方向:要求负向用例确实抵达该未打补丁的图块拒绝,并核对对应错误类型与原因;worker 启动失败、依赖缺失和版本错误应使该用例失败。