@@ -28,7 +28,8 @@ class DataChannelTests: LKTestCase, @unchecked Sendable {
28
28
}
29
29
30
30
func testReliableRetry( ) async throws {
31
- let testData = [ " abc " , " def " , " ghi " , " jkl " , " mno " , " pqr " , " stu " , " vwx " , " yz " , " 🔥 " ] . map { $0. data ( using: . utf8) ! }
31
+ let testString = " abcdefghijklmnopqrstuvwxyz🔥 "
32
+ let testData = Array ( repeating: String ( repeating: testString, count: 128 ) . data ( using: . utf8) !, count: 128 )
32
33
33
34
receivedExpectation. expectedFulfillmentCount = testData. count
34
35
receivedExpectation. assertForOverFulfill = false
@@ -41,8 +42,14 @@ class DataChannelTests: LKTestCase, @unchecked Sendable {
41
42
let receiving = rooms [ 1 ]
42
43
let remoteIdentity = try XCTUnwrap ( sending. remoteParticipants. keys. first)
43
44
44
- Task { try await sending. startReconnect ( reason: . debug) }
45
- Task { try await receiving. startReconnect ( reason: . debug) }
45
+ Task {
46
+ try await Task . sleep ( nanoseconds: 200_000_000 ) // 200 ms
47
+ try await sending. startReconnect ( reason: . debug)
48
+ }
49
+ Task {
50
+ try await Task . sleep ( nanoseconds: 400_000_000 ) // 400 ms
51
+ try await receiving. startReconnect ( reason: . debug)
52
+ }
46
53
47
54
for data in testData {
48
55
let userPacket = Livekit_UserPacket . with {
@@ -51,14 +58,14 @@ class DataChannelTests: LKTestCase, @unchecked Sendable {
51
58
}
52
59
53
60
try await sending. send ( userPacket: userPacket, kind: . reliable)
54
- try await Task . sleep ( nanoseconds: 100_000_000 ) // 100 ms
61
+ try await Task . sleep ( nanoseconds: 10_000_000 ) // 10 ms
55
62
}
56
63
}
57
64
58
- await fulfillment ( of: [ receivedExpectation] , timeout: 5 )
65
+ await fulfillment ( of: [ receivedExpectation] , timeout: 10 )
59
66
60
67
let receivedString = try XCTUnwrap ( String ( data: receivedData, encoding: . utf8) )
61
- XCTAssertEqual ( receivedString, " abcdefghijklmnopqrstuvwxyz🔥 " ) // no duplicates
68
+ XCTAssertEqual ( receivedString. count , testString . count * 128 * 128 , " Corrupted or duplicated data " )
62
69
}
63
70
}
64
71
0 commit comments