Skip to content

test(windows): resolve portable skip inventory - #2470

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liugddx:test/windows-portable-skips
Aug 8, 2026
Merged

test(windows): resolve portable skip inventory#2470
Astro-Han merged 1 commit into
apache:mainfrom
liugddx:test/windows-portable-skips

Conversation

@liugddx

@liugddx liugddx commented Aug 8, 2026

Copy link
Copy Markdown
Member

Summary

  • enable five portable Windows storage tests covering Git-unavailable workspace identity, whole-root import, and junction escape rejection
  • replace ambiguous Windows skips with concrete POSIX permission, file-symlink, open-SQLite replacement, process-snapshot, or graceful-signal contracts
  • improve inventory classification so explicitly platform-specific tests are not reported as portable candidates
  • regenerate the Windows skip inventory from 70 to 65 declarations and from 24 to 0 portable candidates

Validation

  • npm --workspace @maka/storage run build
  • five newly enabled Windows tests: 5 pass / 0 fail / 0 skip
  • npm --workspace @maka/storage run typecheck
  • focused Biome checks for all changed source files
  • npm run windows:inventory
  • node --test scripts/windows-test-inventory.test.mjs
  • git diff --check

Coordination

#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 main before merge.

Addresses the remaining portable-test inventory item in #2142.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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。

@Astro-Han
Astro-Han merged commit e447abb into apache:main Aug 8, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants