@@ -12,7 +12,9 @@ class LoadValidatorTests: XCTestCase {
1212 private var dispatchQueueWrapper : TestSentryDispatchQueueWrapper !
1313 private var defaultImageAddress : UInt64 = 0x1000
1414 private var defaultImageSize : UInt64 = 0x20
15-
15+
16+ private let loadedMultipleTimesMessage = " ❌ Sentry SDK was loaded multiple times in the same binary ❌ "
17+
1618 // MARK: - Setup and Teardown
1719
1820 override func setUp( ) {
@@ -58,7 +60,7 @@ class LoadValidatorTests: XCTestCase {
5860 // Assert
5961 XCTAssertFalse ( validationResult, " Validation should return false for system libraries " )
6062 XCTAssertFalse ( getClassListCalled, " ObjectiveC Wrapper should not be called for a system library " )
61- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
63+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
6264 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 0 )
6365 }
6466
@@ -86,7 +88,7 @@ class LoadValidatorTests: XCTestCase {
8688 // Assert
8789 XCTAssertFalse ( validationResult, " Validation should return false for simulator libraries " )
8890 XCTAssertFalse ( getClassListCalled, " ObjectiveC Wrapper should not be called for a simulator library " )
89- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
91+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
9092 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 0 )
9193 }
9294
@@ -114,7 +116,7 @@ class LoadValidatorTests: XCTestCase {
114116 // Assert
115117 XCTAssertFalse ( validationResult, " Validation should return false for cryptex simulator libraries " )
116118 XCTAssertFalse ( getClassListCalled, " ObjectiveC Wrapper should not be called for a cryptex simulator library " )
117- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
119+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
118120 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 0 )
119121 }
120122
@@ -142,7 +144,7 @@ class LoadValidatorTests: XCTestCase {
142144 // Assert
143145 XCTAssertFalse ( validationResult, " Validation should return false for system libraries " )
144146 XCTAssertFalse ( getClassListCalled, " ObjectiveC Wrapper should not be called for a simulator library " )
145- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
147+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
146148 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 0 )
147149 }
148150
@@ -170,7 +172,7 @@ class LoadValidatorTests: XCTestCase {
170172 // Assert
171173 XCTAssertFalse ( validationResult, " Validation should return false " )
172174 XCTAssertTrue ( getClassListCalled, " ObjectiveC Wrapper should be called for an app binary " )
173- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
175+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
174176 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 1 )
175177 }
176178
@@ -201,7 +203,7 @@ class LoadValidatorTests: XCTestCase {
201203 // Assert
202204 XCTAssertTrue ( validationResult, " Validation should skip for app binary " )
203205 XCTAssertTrue ( getClassListCalled, " ObjectiveC Wrapper should be called for an app binary " )
204- XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times in the same binary ❌ " ) } )
206+ XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
205207 XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " ⚠️ This can cause undefined behavior, crashes, or duplicate reporting. " ) } )
206208 XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " Ensure the SDK is linked only once, found `SentryDependencyContainerSwiftHelper` class in image path: \( imageName) " ) } )
207209 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 1 )
@@ -234,7 +236,7 @@ class LoadValidatorTests: XCTestCase {
234236 // Assert
235237 XCTAssertTrue ( validationResult, " Validation should return true for app " )
236238 XCTAssertTrue ( getClassListCalled, " ObjectiveC Wrapper should be called for an app binary " )
237- XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times in the same binary ❌ " ) } )
239+ XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
238240 XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " ⚠️ This can cause undefined behavior, crashes, or duplicate reporting. " ) } )
239241 XCTAssertTrue ( testOutput. loggedMessages. contains { $0. contains ( " Ensure the SDK is linked only once, found `SentryDependencyContainerSwiftHelper` class in image path: \( imageName) " ) } )
240242 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 1 )
@@ -271,7 +273,7 @@ class LoadValidatorTests: XCTestCase {
271273 // Assert
272274 XCTAssertFalse ( validationResult, " Validation should skip for sentry framework " )
273275 XCTAssertTrue ( getClassListCalled, " ObjectiveC Wrapper should not be called for an app binary " )
274- XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( " ❌ Sentry SDK was loaded multiple times " ) } )
276+ XCTAssertFalse ( testOutput. loggedMessages. contains { $0. contains ( loadedMultipleTimesMessage ) } )
275277 XCTAssertEqual ( dispatchQueueWrapper. dispatchAsyncInvocations. count, 1 )
276278 }
277279}
0 commit comments