Skip to content

Move snapshot test device to iPhone 18 Pro Max - #549

Merged
bradleymackey merged 1 commit into
mainfrom
maintain/snapshot-device-18-pro-max
Sep 13, 2026
Merged

bradleymackey merged 1 commit into
mainfrom
maintain/snapshot-device-18-pro-max

Conversation

@bradleymackey

Copy link
Copy Markdown
Member

Moves the snapshot test device from iPhone 17 Pro to iPhone 18 Pro Max.

The iOS version is unchanged — 27.0 was already the baseline as of #548, so this is purely the device swap.

Changes

All four references to the device, kept in sync:

Location Change
AssertSnapshotWithDeviceCheck.swift:8 expectedDeviceName guard constant
Vault/README.md:110 Testing Configuration table
validate-all.yml:107 build-for-testing destination
validate-all.yml:183 test-without-building destination

No reference images changed

Re-recorded all 246 snapshots on iPhone 18 Pro Max. The output is byte-identical to the iPhone 17 Pro references — 239 files were rewritten on disk, and git status reports zero content changes.

The reason is framedForTest, which pins views to a fixed 390pt width, and both devices render at @3x. The rendered frame is 1170×3000 px either way, so the physical device never influenced the images.

Practical consequence: the snapshot suite is effectively device-independent, and expectedDeviceName functions as a consistency lock — it keeps everyone recording on the same configuration — rather than something that shapes output. Worth knowing if the device ever needs changing again: the images should not churn.

Verification

Local, Xcode 27.0 RC1 (27A266a), iPhone 18 Pro Max / iOS 27.0:

  • xcodebuild build-for-testing — TEST BUILD SUCCEEDED
  • Full suite, -parallel-testing-enabled NO — TEST EXECUTE SUCCEEDED, 2572 test executions across 22 bundle runs (13 bundles × Default and TSAN), 0 failures, no crashes or bootstrap errors
  • make format + make lint — clean

Automatic CI is still disabled (#548), so the workflow destination changes here are unexercised — they will first run when CI is re-enabled. They match the local destination string that was just verified.

🤖 Generated with Claude Code

Updates the snapshot device guard, the README testing table, and both
xcodebuild destinations in the workflow. The iOS version is unchanged — 27.0
was already the baseline.

No reference images changed. Re-recording all 246 snapshots on the new device
produced byte-identical output: `framedForTest` pins views to a fixed 390pt
width and both devices render at @3x, so the rendered frame is 1170x3000 either
way. The suite is effectively device-independent, and the guard constant serves
as a consistency lock rather than something that shapes the output.

Verified on Xcode 27.0 RC1: full suite green on iPhone 18 Pro Max / iOS 27.0,
2572 test executions across 22 bundle runs (13 bundles x Default and TSAN),
0 failures.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bradleymackey
bradleymackey merged commit b12bd2b into main Sep 13, 2026
@bradleymackey
bradleymackey deleted the maintain/snapshot-device-18-pro-max branch September 13, 2026 13:02
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