MuPDF builds with MSBuild on Windows (/MT, OpenSSL from vcpkg); Git for Windows' MinGit stands in for the source build there. CEF loads from where libcef lives and sets its API version first on every platform. File identity on Windows compares volume and index. The checkout and reference/ keep LF on Windows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.5 KiB
FAIL
-
crates/ely-web-content/src/engine.rs:66 — Windows/Linux 的
load()漏掉api_hash(CEF_API_VERSION_LAST, 0),版本初始化只留在 macOS 分支。新进程中 CEF API 版本仍为 -1,后续需要版本化接口的调用会退出,ElyMark 的页面无法正常启动。两端直接载入本机 CEF 后调用cef_command_line_create()均以码 1 退出;同一探针先调用cef_api_hash(15400, 0)后成功返回。修法:各平台、主进程及子进程都在首次使用 CEF 前初始化并核对 API 版本,增加覆盖原生启动路径的测试。 -
crates/ely-web-content/src/engine.rs:42 — 删除
OnceLock的导入后,类型声明虽改成全限定名,初始化仍用OnceLock::new()。macOS 编译该模块时报 E0433,导致原有 ElyMark 构建回归;提取该声明与改后的导入交给 rustc 已重现。修法:初始化也使用全限定名,或在 macOS 下恢复导入。 -
crates/ely-platform/src/diagnostics/tests.rs:54 — 用目录代替循环符号链接,不能触发此处被测的错误:
log_part()只读取 metadata,目录的 metadata 成功,因而返回Ok(Some(...))。Windows 与 WSL 运行cargo test -p ely-platform --lib diagnostics::tests::an_unreadable_log_is_an_error_not_nothing -- --exact均在第 55 行失败。修法:构造真正使 metadata 失败的跨平台场景,或明确要求拒绝非普通文件并补齐对应实现;保留对错误传播的有效断言。 -
crates/ely-files/src/save/tests.rs:466 — 新增 Windows 硬链接场景实际不通过:
same_file()仅在 Unix 比较文件身份,Windows 只比规范路径,故把同一文件的硬链接认成新文件,绕过外部修改冲突检查。原生运行cargo test -p ely-platform -p ely-files --lib,此测试在第 467 行失败,92 条通过、1 条失败。修法:在 Windows 按卷与文件标识比较文件身份,让该场景返回SaveError::Conflict,不能靠撤掉硬链接断言过关。 -
tasks/BUGS.md:9 — WSL 的 Git 尚未就位,不满足 E-01 的环境验收条件。
~/Documents/Github/ElyOffice/engines/git整个目录不存在,engines/git/bin/git --version报不存在;未设置ELY_GIT,也无 ElyTree Git 设置。系统虽有 Git/LFS,应用默认的git::locate()不使用它们,Git::find()因默认路径缺失而拒绝运行。修法:在 WSL 完成scripts/build-git.sh与scripts/fetch-git-lfs.sh,验证应用默认找到的 Git 及其 LFS 都能运行。