@@ -716,6 +716,7 @@ class SentrySDKInternalTests: XCTestCase {
716716 let runtimeInitSystemTimestamp = SentryDependencyContainer . sharedInstance ( ) . dateProvider. date ( )
717717
718718 func setAppStartMeasurement( _ queue: DispatchQueue , _ i: Int ) {
719+ group. enter ( )
719720 queue. async {
720721 let appStartTimestamp = SentryDependencyContainer . sharedInstance ( ) . dateProvider. date ( ) . addingTimeInterval ( TimeInterval ( i) )
721722 let appStartMeasurement = TestData . getAppStartMeasurement (
@@ -724,8 +725,7 @@ class SentrySDKInternalTests: XCTestCase {
724725 runtimeInitSystemTimestamp: UInt64 ( runtimeInitSystemTimestamp. timeIntervalSince1970)
725726 )
726727 SentrySDKInternal . setAppStartMeasurement ( appStartMeasurement)
727-
728- expectation. fulfill ( )
728+ group. leave ( )
729729 }
730730 }
731731
@@ -735,24 +735,20 @@ class SentrySDKInternalTests: XCTestCase {
735735
736736 let queue1 = createQueue ( )
737737 let queue2 = createQueue ( )
738+ let group = DispatchGroup ( )
738739
739740 let amount = 100
740741
741- let expectation = XCTestExpectation ( description: " Wait for all measurements to be set " )
742- expectation. expectedFulfillmentCount = amount * 2
743- expectation. assertForOverFulfill = true
744-
745- for i in 0 ..< amount {
742+ for i in 0 ... amount {
746743 setAppStartMeasurement ( queue1, i)
747744 setAppStartMeasurement ( queue2, i)
748745 }
749746
750747 queue1. activate ( )
751748 queue2. activate ( )
749+ group. waitWithTimeout ( timeout: 100 )
752750
753- wait ( for: [ expectation] , timeout: 10.0 )
754-
755- let timestamp = SentryDependencyContainer . sharedInstance ( ) . dateProvider. date ( ) . addingTimeInterval ( TimeInterval ( amount - 1 ) )
751+ let timestamp = SentryDependencyContainer . sharedInstance ( ) . dateProvider. date ( ) . addingTimeInterval ( TimeInterval ( amount) )
756752 XCTAssertEqual ( timestamp, SentrySDKInternal . getAppStartMeasurement ( ) ? . appStartTimestamp)
757753 }
758754
0 commit comments