@@ -109,10 +109,13 @@ class Logging: XCTestCase {
109109 XCTAssertEqual ( 5 , differencesInMs. count)
110110 let expectedDifferences = [ 100 , 5.0 , 50.0 , 500.0 , 1000.0 ]
111111 // CI runners can have significant scheduling delays, especially for short sleeps
112+ // Very short sleeps (<10ms) are particularly unreliable on loaded systems
112113 for (index, difference) in differencesInMs. enumerated ( ) {
113114 let expectedDifference = expectedDifferences [ index]
114- let lowerBound = max ( 0.0 , expectedDifference * 0.5 ) // Allow 50% under
115- let upperBound = expectedDifference * 3.0 // Allow 3x over for CI
115+ // Use more generous bounds for very short sleeps
116+ let ( lowerMultiplier, upperMultiplier) = expectedDifference < 10 ? ( 0.0 , 10.0 ) : ( 0.3 , 4.0 )
117+ let lowerBound = expectedDifference * lowerMultiplier
118+ let upperBound = expectedDifference * upperMultiplier
116119 XCTAssert ( difference >= lowerBound && difference <= upperBound,
117120 " Difference \( difference) ms at index \( index) outside expected range [ \( lowerBound) , \( upperBound) ]ms " )
118121 }
@@ -179,10 +182,13 @@ class Logging: XCTestCase {
179182 XCTAssertEqual ( 5 , differencesInMs. count)
180183 let expectedDifferences = [ 100 , 5.0 , 50.0 , 500.0 , 1000.0 ]
181184 // CI runners can have significant scheduling delays, especially for short sleeps
185+ // Very short sleeps (<10ms) are particularly unreliable on loaded systems
182186 for (index, difference) in differencesInMs. enumerated ( ) {
183187 let expectedDifference = expectedDifferences [ index]
184- let lowerBound = expectedDifference * 0.5 // Allow 50% under
185- let upperBound = expectedDifference * 3.0 // Allow 3x over for CI
188+ // Use more generous bounds for very short sleeps
189+ let ( lowerMultiplier, upperMultiplier) = expectedDifference < 10 ? ( 0.0 , 10.0 ) : ( 0.3 , 4.0 )
190+ let lowerBound = expectedDifference * lowerMultiplier
191+ let upperBound = expectedDifference * upperMultiplier
186192 XCTAssert ( difference >= lowerBound, " Difference \( difference) ms at index \( index) is less than expected \( lowerBound) ms " )
187193 XCTAssert ( difference <= upperBound, " Difference \( difference) ms at index \( index) is greater than expected \( upperBound) ms " )
188194 }
0 commit comments