rdmsm4x-changelog-20260922-2250-rtty-mobile-uitests-dynamic-paths-and-vacuous-pass-fix
rdmsm4x Changelog: RTTyMobileUITests dynamic path resolution and vacuous pass elimination
Date: 2026-09-22 22:50 EDT
Host: rdmsm4x
Agent: agy@rdmsm4x
Issue Resolved: ISSUE-20260905-27
Commits:
1. Summary
Resolved ISSUE-20260905-27 in
Apps/RTTyMobile/Tests/RTTyMobileUITests/AutomatedDeploymentPipelineTests.swift:
- Dynamic Path Resolution: Replaced six hardcoded
/Users/richh/dev/apps/RTTyhub-absolute paths with dynamicrepositoryRootandmobileRootcomputed by walking up 5 and 3 levels from#filePath. - Vacuous Pass Elimination: Replaced silent
guard FileManager.default.isExecutableFile(atPath: scriptPath) else { return }early exits with explicit#expect(FileManager.default.isExecutableFile(atPath: scriptPath))assertions, ensuring missing or unexecutable scripts fail loudly instead of vacuously reporting green. - Pipe Buffer Deadlock Prevention: Reordered
Foundation
Processexecution to drainpipe.fileHandleForReading.readDataToEndOfFile()before callingprocess.waitUntilExit(), preventing OS pipe buffer deadlocks when subprocess output exceeds buffer capacity.
2. Verification Evidence
- Ran
swift test --package-path Apps/RTTyMobile --filter AutomatedDeploymentPipelineTests:devicectlCommandSyntaxpassed (0.001s)targetDeviceFleetNamespassed (0.001s)xcodeSchemeIntegritypassed (0.001s)deploymentScriptLocationspassed (0.001s)deployDevicesExitCodePropagationpassed (0.078s)deployDevicesDryRunExecutionpassed (0.698s)- Total: 6/6 passed in 0.698s.
git diffconfirms 0 hardcoded/Users/richhpaths remaining inApps/RTTyMobile/Tests/.- Merged to
mainatd4369d1inapps/RTTyand pushed toorigin,fleet, andbackup. - Ticket
ISSUE-20260905-27marked resolved and committed (15fbfac) toissuesremotes.