test(windows): resolve portable skip inventory - #2470
Conversation
Astro-Han
left a comment
There was a problem hiding this comment.
Thanks for enabling the five portable tests and making the remaining skip reasons concrete. Reusing the existing tests and using junctions for the Windows directory-escape fixtures are both good choices.
One housekeeping note before merge: #2464 has now landed, so please update this branch and regenerate the inventory as anticipated in the coordination note.
P3 — A Windows fixture limitation is currently counted as a POSIX-only product contract.
The Pet Pack sprite-sheet and storage lock-path tests are skipped because Windows CI does not reliably provide file-symlink permissions. That explains why the current fixture cannot run, but the underlying escape and alias-rejection contracts are still relevant on Windows.
These entries seem more accurately classified as windows-backend-gap until equivalent Windows evidence exists, rather than platform-contract. The broad permissions keyword can also classify a future Windows implementation gap as POSIX-only, so it would be useful to narrow that match and add one boundary test.
A structured classification annotation may be a better long-term direction, but that does not need to be part of this PR.
Overall, the enabled tests and clearer skip reasons are useful improvements. Approved.
简体中文
感谢启用这五个 portable tests,并把剩余 skip reason 写得更具体。复用现有测试,以及在 Windows 目录逃逸 fixture 中使用 junction,都是正确选择。
合并前有一个常规更新:#2464 现在已经合并,请按照 coordination note 中的预期更新分支并重新生成 inventory。
P3 — Windows fixture 限制目前被统计成了 POSIX-only 产品契约。
Pet Pack sprite-sheet 和 storage lock-path 测试被跳过,是因为 Windows CI 不能稳定保证 file-symlink 权限。这能解释当前 fixture 为什么无法可靠运行,但底层的逃逸和 alias rejection 契约在 Windows 上仍然相关。
在获得对应的 Windows 证据之前,这些条目更适合归为 windows-backend-gap,而不是 platform-contract。宽泛的 permissions 关键词也可能把未来的 Windows 实现缺口归为 POSIX-only,因此建议收窄这个匹配并增加一个边界测试。
长期来看,显式的结构化分类 annotation 可能更可靠,但不需要放进当前 PR。
整体上,新启用的测试和更清楚的 skip reason 都是有效改进。Approve。
Summary
Validation
npm --workspace @maka/storage run buildnpm --workspace @maka/storage run typechecknpm run windows:inventorynode --test scripts/windows-test-inventory.test.mjsgit diff --checkCoordination
#2464 and #2465 are currently green but not yet merged. If their skip changes land first, this branch will regenerate the inventory against the resulting
mainbefore merge.Addresses the remaining portable-test inventory item in #2142.