Pass display harness manifest path into UI test

This commit is contained in:
Lawrence Chen 2026-03-18 01:40:04 -07:00
parent 387742a5a0
commit b1e2d1cb19
No known key found for this signature in database
3 changed files with 7 additions and 4 deletions

View file

@ -513,6 +513,7 @@ jobs:
CMUX_UI_TEST_DISPLAY_START_PATH="$START_PATH" \
CMUX_UI_TEST_DISPLAY_DONE_PATH="$DONE_PATH" \
CMUX_UI_TEST_DISPLAY_LOG_PATH="$LOG_PATH" \
CMUX_UI_TEST_DISPLAY_HARNESS_MANIFEST_PATH="$MANIFEST_PATH" \
xcodebuild -project GhosttyTabs.xcodeproj -scheme cmux -configuration Debug \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \
-disableAutomaticPackageResolution \

View file

@ -257,6 +257,7 @@ jobs:
CMUX_UI_TEST_DISPLAY_START_PATH="$START_PATH"
CMUX_UI_TEST_DISPLAY_DONE_PATH="$DONE_PATH"
CMUX_UI_TEST_DISPLAY_LOG_PATH="$LOG_PATH"
CMUX_UI_TEST_DISPLAY_HARNESS_MANIFEST_PATH="$MANIFEST_PATH"
)
fi

View file

@ -2,7 +2,7 @@ import XCTest
import Foundation
final class DisplayResolutionRegressionUITests: XCTestCase {
private let displayHarnessManifestPath = "/tmp/cmux-ui-test-display-harness.json"
private let defaultDisplayHarnessManifestPath = "/tmp/cmux-ui-test-display-harness.json"
private var launchTag = ""
private var diagnosticsPath = ""
private var displayReadyPath = ""
@ -118,7 +118,7 @@ final class DisplayResolutionRegressionUITests: XCTestCase {
private func prepareDisplayHarnessIfNeeded() throws {
let env = ProcessInfo.processInfo.environment
if let externalHarness = loadExternalHarnessFromEnvironment(env) ?? loadExternalHarnessFromManifest() {
if let externalHarness = loadExternalHarnessFromEnvironment(env) ?? loadExternalHarnessFromManifest(env) {
displayReadyPath = externalHarness.readyPath
displayIDPath = externalHarness.displayIDPath
displayStartPath = externalHarness.startPath
@ -150,8 +150,9 @@ final class DisplayResolutionRegressionUITests: XCTestCase {
)
}
private func loadExternalHarnessFromManifest() -> ExternalDisplayHarness? {
let manifestURL = URL(fileURLWithPath: displayHarnessManifestPath)
private func loadExternalHarnessFromManifest(_ env: [String: String]) -> ExternalDisplayHarness? {
let manifestPath = env["CMUX_UI_TEST_DISPLAY_HARNESS_MANIFEST_PATH"] ?? defaultDisplayHarnessManifestPath
let manifestURL = URL(fileURLWithPath: manifestPath)
guard let data = try? Data(contentsOf: manifestURL) else {
return nil
}