Increase tests speed to avoid hangs (#511)

This commit is contained in:
KonradStaniec 2022-07-11 08:24:03 +02:00 committed by GitHub
parent 9d7e4b031a
commit cbb233d8a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 17 deletions

View File

@ -15,7 +15,6 @@ import
../../eth/keys, ../../eth/keys,
../../eth/p2p/discoveryv5/random2 ../../eth/p2p/discoveryv5/random2
proc connectTillSuccess(p: UtpProtocol, to: TransportAddress, maxTries: int = 20): Future[UtpSocket[TransportAddress]] {.async.} = proc connectTillSuccess(p: UtpProtocol, to: TransportAddress, maxTries: int = 20): Future[UtpSocket[TransportAddress]] {.async.} =
var i = 0 var i = 0
while true: while true:
@ -120,11 +119,10 @@ procSuite "Utp protocol over udp tests with loss and delays":
TestCase(maxDelay: maxDelay, dropRate: dropRate, bytesToTransfer: bytesToTransfer, cfg: cfg, bytesPerRead: bytesPerRead) TestCase(maxDelay: maxDelay, dropRate: dropRate, bytesToTransfer: bytesToTransfer, cfg: cfg, bytesPerRead: bytesPerRead)
let testCases = @[ let testCases = @[
TestCase.init(45, 10, 40000), TestCase.init(15, 3, 40000),
TestCase.init(25, 15, 40000),
# super small recv buffer which will be constantly on the brink of being full # super small recv buffer which will be constantly on the brink of being full
TestCase.init(15, 5, 40000, SocketConfig.init(optRcvBuffer = uint32(6000), remoteWindowResetTimeout = seconds(5))), TestCase.init(10, 3, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5))),
TestCase.init(15, 10, 40000, SocketConfig.init(optRcvBuffer = uint32(6000), remoteWindowResetTimeout = seconds(5))) TestCase.init(10, 6, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)))
] ]
asyncTest "Write and Read large data in different network conditions": asyncTest "Write and Read large data in different network conditions":
@ -155,8 +153,7 @@ procSuite "Utp protocol over udp tests with loss and delays":
let serverReadFut = serverSocket.read(numBytes) let serverReadFut = serverSocket.read(numBytes)
let clientReadFut = clientSocket.read(numBytes) let clientReadFut = clientSocket.read(numBytes)
yield serverReadFut await allFutures(serverReadFut, clientReadFut)
yield clientReadFut
let clientRead = clientReadFut.read() let clientRead = clientReadFut.read()
let serverRead = serverReadFut.read() let serverRead = serverReadFut.read()
@ -170,9 +167,9 @@ procSuite "Utp protocol over udp tests with loss and delays":
let testCases1 = @[ let testCases1 = @[
# small buffers so it will fill up between reads # small buffers so it will fill up between reads
TestCase.init(15, 5, 40000, SocketConfig.init(optRcvBuffer = uint32(6000), remoteWindowResetTimeout = seconds(5)), 10000), TestCase.init(5, 3, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)), 10000),
TestCase.init(15, 10, 40000, SocketConfig.init(optRcvBuffer = uint32(6000), remoteWindowResetTimeout = seconds(5)), 10000), TestCase.init(10, 6, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)), 10000),
TestCase.init(15, 15, 40000, SocketConfig.init(optRcvBuffer = uint32(6000), remoteWindowResetTimeout = seconds(5)), 10000) TestCase.init(15, 6, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)), 10000)
] ]
proc readWithMultipleReads(s: UtpSocket[TransportAddress], numOfReads: int, bytesPerRead: int): Future[seq[byte]] {.async.}= proc readWithMultipleReads(s: UtpSocket[TransportAddress], numOfReads: int, bytesPerRead: int): Future[seq[byte]] {.async.}=
@ -212,9 +209,7 @@ procSuite "Utp protocol over udp tests with loss and delays":
let serverReadFut = serverSocket.readWithMultipleReads(numOfReads, testCase.bytesPerRead) let serverReadFut = serverSocket.readWithMultipleReads(numOfReads, testCase.bytesPerRead)
let clientReadFut = clientSocket.readWithMultipleReads(numOfReads, testCase.bytesPerRead) let clientReadFut = clientSocket.readWithMultipleReads(numOfReads, testCase.bytesPerRead)
yield serverReadFut await allFutures(serverReadFut, clientReadFut)
yield clientReadFut
let clientRead = clientReadFut.read() let clientRead = clientReadFut.read()
let serverRead = serverReadFut.read() let serverRead = serverReadFut.read()
@ -227,10 +222,9 @@ procSuite "Utp protocol over udp tests with loss and delays":
await serverProtocol.shutdownWait() await serverProtocol.shutdownWait()
let testCase2 = @[ let testCase2 = @[
TestCase.init(45, 0, 40000), TestCase.init(10, 0, 80000),
TestCase.init(45, 0, 80000), TestCase.init(10, 3, 40000),
TestCase.init(25, 15, 40000), TestCase.init(15, 6, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)))
TestCase.init(15, 5, 40000, SocketConfig.init(optRcvBuffer = uint32(10000), remoteWindowResetTimeout = seconds(5)))
] ]
asyncTest "Write large data and read till EOF": asyncTest "Write large data and read till EOF":