test(m10): wait for gamut layer enable; drive New via File menu on macOS 12 #158

Merged
gronod merged 1 commits from fix/m10-ci-ui-macos12 into milestone/m10-studio 2026-09-13 14:59:47 +01:00
Owner

Fixes the four UI test failures from Actions run 33718 (Xcode 14.2, macOS 12 runner) — all four passed locally because they won a race the slower runner loses.

  • Milestone10GamutCompareUITests: gamutLayer-* toggles render as disabled placeholders until the async layer load lands. Added waitUntilEnabled(_:) (exists and isEnabled); sRGB toggle must be enabled before asserting its checked value, and the compare toggle must reach enabled after Open .gam / Open profile.
  • Milestone10ProjectUITests: testNewProjectClearsBasenameDoesNotDeleteFixtureTi3 now drives New through File ▸ New Project (menu item matched by label, id fallback) when the File menu is in the AX tree, else ⌘N. The confirm/dirty alert buttons are matched by visible title (Don't Save, Start) with the a11y id as fallback — macOS 12 SwiftUI alerts often drop identifiers.

No product changes. Local gate: targeted suites 14/14 pass; full host-arch suite 439 unit + 49 UI, 0 failures.

Refs #147 #149 #146

Generated with Devin

Fixes the four UI test failures from Actions run 33718 (Xcode 14.2, macOS 12 runner) — all four passed locally because they won a race the slower runner loses. - `Milestone10GamutCompareUITests`: `gamutLayer-*` toggles render as disabled placeholders until the async layer load lands. Added `waitUntilEnabled(_:)` (exists **and** `isEnabled`); sRGB toggle must be enabled before asserting its checked value, and the compare toggle must reach enabled after Open .gam / Open profile. - `Milestone10ProjectUITests`: `testNewProjectClearsBasenameDoesNotDeleteFixtureTi3` now drives New through File ▸ **New Project** (menu item matched by label, id fallback) when the File menu is in the AX tree, else ⌘N. The confirm/dirty alert buttons are matched by visible title (`Don't Save`, `Start`) with the a11y id as fallback — macOS 12 SwiftUI alerts often drop identifiers. No product changes. Local gate: targeted suites 14/14 pass; full host-arch suite 439 unit + 49 UI, 0 failures. Refs #147 #149 #146 Generated with [Devin](https://devin.ai)
gronod added 1 commit 2026-09-13 14:59:32 +01:00
Actions run 33718 (Xcode 14.2, macOS 12) failed four UI tests that
pass locally. Gamut layer toggles render as disabled placeholders
until the async layer load lands, so waitFor(id) won the race on the
placeholder — added waitUntilEnabled and gate on isEnabled. The
project New test's ⌘N may not reach the CommandGroup and alert
buttons often lack identifiers on macOS 12 — drive New through the
File menu "New Project" item and confirm the alert by button title
with id fallback.

Refs #147 #149 #146

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
gronod self-assigned this 2026-09-13 14:59:38 +01:00
gronod added this to the M10 — Studio workflow (media library, gamut compare, spot-read, projects) milestone 2026-09-13 14:59:38 +01:00
gronod added the Kind/Bug
Priority
High
2
Project/ICCery-v2Feature/UI
labels 2026-09-13 14:59:39 +01:00
gronod merged commit e967502ea7 into milestone/m10-studio 2026-09-13 14:59:47 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#158