Skip to content

test(desktop): make Windows fixtures and cleanup portable - #5071

Open
99Gaoxiaoqi wants to merge 2 commits into
apache:mainfrom
99Gaoxiaoqi:fix/desktop-windows-test-fixtures
Open

test(desktop): make Windows fixtures and cleanup portable#5071
99Gaoxiaoqi wants to merge 2 commits into
apache:mainfrom
99Gaoxiaoqi:fix/desktop-windows-test-fixtures

Conversation

@99Gaoxiaoqi

Copy link
Copy Markdown
Contributor

Summary

Windows Desktop Node tests fail before reaching their assertions because fixtures assume POSIX paths, shell scripts, symlink privileges, and unlocked database files. Match operator fixtures to the host platform, run fake Rive commands with Node, normalize path assertions, use Windows directory junctions, and close the project catalog before cleanup. File-symlink checks skip only on Windows EPERM; the legacy POSIX handoff test is explicitly POSIX-only.

Fixes #5059

Verification

Verified commit: cb661f4951da7f4e6a9da0aa741f97a082cec869.

  • Windows validation recorded with the fix: 52 affected tests passed, 2 capability/platform skips; build, typecheck, lint, format, and Desktop/UI knip checks passed. The full Desktop suite still has the existing session-local POSIX mode assertion failure outside this issue.
  • macOS (Node 26.7.0, npm 11.19.0): clean npm ci, npm run build, and npm --workspace @maka/desktop run test:dist passed: 2,508 tests, 0 failures, 0 skips.
  • Linux and Electron E2E were not run for this verification.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex assisted with the test-fixture implementation, verification, and this PR description. Submitted through Codex on behalf of 99Gaoxiaoqi. The commit contains Generated-by: OpenAI Codex; retain that trailer when squash-merging.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No — test fixtures and cleanup only; no production behavior changes.

Match local operator fixtures to the host platform, execute fake Rive
commands with Node, normalize boundary-test paths, and close the project
catalog before removing its database. Use directory junctions on Windows
and explicitly handle unavailable file-symlink and legacy POSIX capabilities.

Refs apache#5059

Windows validation: 52 affected tests pass, 2 capability/platform skips.
Build, typecheck, lint, format, and Desktop/UI knip checks pass.
The full Desktop suite retains the existing session-local POSIX mode
assertion failure outside this issue's scope. macOS validation is pending.

Generated-by: OpenAI Codex
@github-actions github-actions Bot added the effort/M Under 500 readable lines label Sep 9, 2026
Record the legacy POSIX handoff exclusion added by the portable Desktop test fixtures.

Generated-by: OpenAI Codex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/M Under 500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(desktop): full Node suite fails in local Windows platform fixtures and cleanup

1 participant