Skip to content

Commit b405e35

Browse files
committed
Reorganize ABI files, put ABI entry point symbols in one file
1 parent 1bc6f94 commit b405e35

12 files changed

+25
-36
lines changed

Sources/Testing/EntryPoints/ABIv0/ABIv0.EntryPoint.swift renamed to Sources/Testing/ABI/EntryPoints/ABIEntryPoint.swift

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ extension ABIv0 {
4242
/// `"swt_abiv0_getEntryPoint"` and can be dynamically looked up at runtime
4343
/// using `dlsym()` or a platform equivalent.
4444
///
45-
/// The value of this property can be thought of as equivalent to
45+
/// The value of this property can be thought of as equivalent to a call to
4646
/// `swift test --event-stream-output` except that, instead of streaming JSON
4747
/// records to a named pipe or file, it streams them to an in-process
4848
/// callback.
@@ -68,4 +68,28 @@ extension ABIv0 {
6868
@usableFromInline func abiv0_getEntryPoint() -> UnsafeRawPointer {
6969
unsafeBitCast(ABIv0.entryPoint, to: UnsafeRawPointer.self)
7070
}
71+
72+
// MARK: - Xcode 16 Beta 1 compatibility
73+
74+
/// An older signature for ``ABIv0/EntryPoint-swift.typealias`` used by Xcode 16
75+
/// Beta 1.
76+
///
77+
/// This type will be removed in a future update.
78+
@available(*, deprecated, message: "Use ABIv0.EntryPoint instead.")
79+
typealias ABIEntryPoint_v0 = @Sendable (
80+
_ argumentsJSON: UnsafeRawBufferPointer?,
81+
_ recordHandler: @escaping @Sendable (_ recordJSON: UnsafeRawBufferPointer) -> Void
82+
) async throws -> CInt
83+
84+
/// An older signature for ``ABIv0/entryPoint-swift.type.property`` used by
85+
/// Xcode 16 Beta 1.
86+
///
87+
/// This function will be removed in a future update.
88+
@available(*, deprecated, message: "Use ABIv0.entryPoint (swt_abiv0_getEntryPoint()) instead.")
89+
@_cdecl("swt_copyABIEntryPoint_v0")
90+
@usableFromInline func copyABIEntryPoint_v0() -> UnsafeMutableRawPointer {
91+
let result = UnsafeMutablePointer<ABIEntryPoint_v0>.allocate(capacity: 1)
92+
result.initialize { try await ABIv0.entryPoint($0, $1) ? EXIT_SUCCESS : EXIT_FAILURE }
93+
return .init(result)
94+
}
7195
#endif
File renamed without changes.

0 commit comments

Comments
 (0)