Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Sources/Testing/Events/Event+FallbackEventHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -247,9 +247,10 @@ extension Event {
}

// Encode the event as JSON and pass it to the handler.
return ABI.CurrentVersion.eventHandler(encodeAsJSONLines: false) { recordJSON in
let abiVersion = ABI.v6_3.self
return abiVersion.eventHandler(encodeAsJSONLines: false) { recordJSON in
fallbackEventHandler(
String(describing: ABI.CurrentVersion.versionNumber),
String(describing: abiVersion.versionNumber),
recordJSON.baseAddress!,
recordJSON.count,
nil
Expand Down
13 changes: 8 additions & 5 deletions Tests/TestingTests/EventHandlingInteropTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ struct EventHandlingInteropTests {
try Self.handlerContents.withLock {
let contents = try #require(
$0, "Fallback should have been called with non nil contents")
#expect(contents.version == "\(ABI.CurrentVersion.versionNumber)")
#expect(contents.record?.contains("A system failure occurred") ?? false)
let versionNumberString = "\(ABI.v6_3.versionNumber)"
#expect(contents.version == versionNumberString)
#expect(contents.record?.contains(versionNumberString) == true)
#expect(contents.record?.contains("A system failure occurred") == true)
}
}
}
Expand Down Expand Up @@ -231,7 +233,7 @@ struct EventHandlingInteropTests {
}
}

@available(macOS 15.0, *) // String(validating:as:) is unavailable on older macOS
@available(macOS 15.0, *) // String(validating:as:) is unavailable on older macOS
@Test func `Strict interop mode causes a process exit`() async throws {
let result = await #expect(processExitsWith: .failure, observing: [\.standardErrorContent]) {
Self.enableExperimentalInterop()
Expand All @@ -244,7 +246,8 @@ struct EventHandlingInteropTests {
}.run()
}

let stderr = try #require(String(validating: result?.standardErrorContent ?? [UInt8](), as: UTF8.self))
let stderr = try #require(
String(validating: result?.standardErrorContent ?? [UInt8](), as: UTF8.self))
#expect(stderr.contains("Fatal error: XCTest API was used in a Swift Testing test"))
}

Expand Down Expand Up @@ -274,7 +277,7 @@ struct EventHandlingInteropTests {
/// This always forwards a test failure through the fallback event handler if it can find one.
/// It is an error to call this when a handler hasn't been installed yet.
/// - Parameter payload: Optional payload to use instead of generating a standard one.
fileprivate func _FakeXCTFail(payload: Data? = nil) throws {
private func _FakeXCTFail(payload: Data? = nil) throws {
// A fallback event handler must be installed ahead of time
let currentHandler = try #require(_swift_testing_getFallbackEventHandler())

Expand Down
Loading