fix #14320 (tasyncawait.nim is recently very flaky) + avoid hardcoding service ports everywhere + flakyAssert (#14327)
* hotfix #14320 tasyncawait.nim is recently very flaky * fix #14327 * add flakyAssert
This commit is contained in:
parent
9acbf99efb
commit
1648f1dd99
10 changed files with 102 additions and 92 deletions
|
|
@ -1,9 +1,6 @@
|
|||
discard """
|
||||
output: "5000"
|
||||
"""
|
||||
when defined(windows):
|
||||
import asyncdispatch, nativesockets, net, strutils, os, winlean
|
||||
|
||||
from stdtest/netutils import bindAvailablePort
|
||||
var msgCount = 0
|
||||
|
||||
const
|
||||
|
|
@ -228,29 +225,19 @@ when defined(windows):
|
|||
else:
|
||||
doAssert false
|
||||
|
||||
proc createServer(port: Port) {.async.} =
|
||||
var server = createNativeSocket()
|
||||
setBlocking(server, false)
|
||||
block:
|
||||
var name = Sockaddr_in()
|
||||
name.sin_family = toInt(Domain.AF_INET).uint16
|
||||
name.sin_port = htons(uint16(port))
|
||||
name.sin_addr.s_addr = htonl(INADDR_ANY)
|
||||
if bindAddr(server, cast[ptr SockAddr](addr(name)),
|
||||
sizeof(name).Socklen) < 0'i32:
|
||||
raiseOSError(osLastError())
|
||||
|
||||
proc createServer(server: SocketHandle) {.async.} =
|
||||
discard server.listen()
|
||||
while true:
|
||||
asyncCheck readMessages(await winAccept(AsyncFD(server)))
|
||||
|
||||
asyncCheck createServer(Port(10335))
|
||||
asyncCheck launchSwarm(Port(10335))
|
||||
var server = createNativeSocket()
|
||||
setBlocking(server, false)
|
||||
let port = bindAvailablePort(server)
|
||||
asyncCheck createServer(server)
|
||||
asyncCheck launchSwarm(port)
|
||||
while true:
|
||||
poll()
|
||||
if clientCount == swarmSize: break
|
||||
|
||||
assert msgCount == swarmSize * messagesToSend
|
||||
echo msgCount
|
||||
else:
|
||||
echo(5000)
|
||||
doAssert msgCount == 5000
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue