Skip to content

Fix macOS CI scene roots and platform-specific tests - #224

Merged
JE-Chen merged 3 commits into
devfrom
fix/macos-ci-boundaries
Oct 12, 2026
Merged

JE-Chen merged 3 commits into
devfrom
fix/macos-ci-boundaries

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

macOS resolves temporary-directory aliases before normalizing scene assets, while the package loader compared them against an unresolved extraction root. Canonicalize the owned root and retain resource existence, directory and escape checks. Add successful import/cleanup and rejection regressions under parent-segment and symlinked temporary roots.

Legacy Windows fallback tests also assumed macOS has no native audio/media backend. Explicitly exercise their Windows path, cover platform/backend availability separately, and inject the default audio meter so unit tests do not open real ScreenCaptureKit capture. The basic fixes match those already present in #222; this PR isolates the regression repair from its larger feature work.

Validation: 1367 local tests passed, 14 skipped; focused provider/package tests: 80 passed, 7 skipped; final aligned audio/media tests: 33 passed; pyflakes clean. Windows skips include directory-symlink privilege and optional Imervue. Merge only after complete Windows Python 3.10–3.14 and macOS CI, built-wheel checks, SonarCloud and Codacy pass. Verify macOS pytest exits normally, including the symlink cases, to address the reported exit 137.

Follow-up after actual CI: macOS passed all 1370 tests but still exited with 137 after native teardown, and every Windows runner exposed the protected-DACL test treating the administrator SID alias LA as a different principal. Backport the verified native-unit-framework isolation fixture and canonical Windows DACL comparison from #222. The independent built-wheel native smoke remains outside pytest isolation. The full local suite was rerun: 1367 passed, 14 skipped; focused TLS/lifecycle scope: 30 passed, 1 POSIX-only skip; pyflakes clean. Latest reviewed head: f5f2d9e.

Independent native smoke repair: identify the probe by its owned cocoa NSWindow number, verify movement and restoration through measured native geometry while the event loop runs, and retain untitled CG windows for numeric geometry/unique AX matching. The named-window UI list is unchanged. These narrow fixes and their regression are backported from #222. Complete local suite: 1368 passed, 14 skipped; backend scope: 20 passed; pyflakes clean. Latest reviewed head: 3d842da.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@sonarqubecloud

Copy link
Copy Markdown

@JE-Chen
JE-Chen merged commit b5d0591 into dev Oct 12, 2026
8 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.

1 participant