fix(project): wire DayflowUITests target to its own source folder#313
Open
praxstack wants to merge 1 commit into
Open
fix(project): wire DayflowUITests target to its own source folder#313praxstack wants to merge 1 commit into
praxstack wants to merge 1 commit into
Conversation
The DayflowUITests target had no PBXFileSystemSynchronizedRootGroup entry at all — unlike its siblings Dayflow and DayflowTests, which each have one. This meant Xcode had no path to discover DayflowUITests.swift or DayflowUITestsLaunchTests.swift: builds silently produced an "empty-DayflowUITests.plist" and the .xctest bundle never got a compiled executable, so any attempt to run it failed with "the bundle's executable couldn't be located." Fix mirrors the existing DayflowTests wiring exactly: a new synced-group entry for the DayflowUITests folder, referenced from the target's fileSystemSynchronizedGroups and the top-level group's children. Verified end-to-end, not just theorized: - Before: xcodebuild ... -only-testing:DayflowUITests test -> "Failed to load the test bundle... couldn't be located" - After: clean rebuild produces a real Mach-O executable at .../DayflowUITests.xctest/Contents/MacOS/DayflowUITests - xcodebuild ... -only-testing:DayflowUITests test -> ** TEST SUCCEEDED ** (4/4 tests pass, including two that drive a real XCUIApplication launch) - Re-ran -only-testing:DayflowTests afterward: 6/6 still pass, no regression
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
what
DayflowUITestsnever actually built or ran. Every attempt (xcodebuild ... -only-testing:DayflowUITests test) failed with:root cause
DayflowUITestshad noPBXFileSystemSynchronizedRootGroupentry at all — unlike its siblingsDayflowandDayflowTests, which each have one. Xcode 16+'s synced-group mechanism is how a target's source folder gets auto-discovered without listing every file explicitly; without that entry, Xcode had literally no path toDayflow/DayflowUITests/. Build logs confirmed it: anempty-DayflowUITests.plistgets generated, and the.xctestbundle ships with zero compiled executable.fix
Mirrors the existing
DayflowTestswiring exactly: a new synced-group entry pointing at theDayflowUITestsfolder, referenced from the target'sfileSystemSynchronizedGroupsand the top-level group'schildren. 3 lines total, same shape as the workingDayflowTestsentry.verification
the launch tests drive a real
XCUIApplicationlaunch — not stubs. re-ran-only-testing:DayflowTestsafterward to confirm no regression: 6/6 still pass.Follow-up hardening pass (2026-07-08)
Re-verified end-to-end:
xcodebuild ... -only-testing:DayflowUITests test-> TEST SUCCEEDED, 4/4 tests pass (testExample, testLaunchPerformance, testLaunch x2 -- all driving a real XCUIApplication launch). Also confirmed the structural fix independently: build-for-testing produces a real Mach-O executable atDayflowUITests.xctest/Contents/MacOS/DayflowUITests(pre-fix, that bundle had no executable at all).(One re-run mid-session hit a transient "Timed out while enabling automation mode" -- isolated to UI-automation initialization under accumulated load from repeated test invocations, not a code defect: plain unit tests kept passing throughout, and re-running with a normal automation-timeout allowance passed cleanly 4/4. Not app-instance-related -- the tests pass with or without a production app running.)