diff options
Diffstat (limited to 'tests/async/tasyncawait.nim')
-rw-r--r-- | tests/async/tasyncawait.nim | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/tests/async/tasyncawait.nim b/tests/async/tasyncawait.nim index b1f893489..e86542b2d 100644 --- a/tests/async/tasyncawait.nim +++ b/tests/async/tasyncawait.nim @@ -1,13 +1,10 @@ -discard """ - output: "5000" -""" -import asyncdispatch, asyncnet, nativesockets, net, strutils, os - +import asyncdispatch, asyncnet, nativesockets, net, strutils +from stdtest/netutils import bindAvailablePort var msgCount = 0 const - swarmSize = 50 - messagesToSend = 100 + swarmSize = 40 + messagesToSend = 50 var clientCount = 0 @@ -37,31 +34,23 @@ proc readMessages(client: AsyncFD) {.async.} = clientCount.inc break else: - if line.startswith("Message "): + if line.startsWith("Message "): msgCount.inc else: doAssert false -proc createServer(port: Port) {.async.} = - var server = createAsyncNativeSocket() - block: - var name: Sockaddr_in - name.sin_family = typeof(name.sin_family)(toInt(AF_INET)) - name.sin_port = htons(uint16(port)) - name.sin_addr.s_addr = htonl(INADDR_ANY) - if bindAddr(server.SocketHandle, cast[ptr SockAddr](addr(name)), - sizeof(name).Socklen) < 0'i32: - raiseOSError(osLastError()) - +proc createServer(server: AsyncFD) {.async.} = discard server.SocketHandle.listen() while true: asyncCheck readMessages(await accept(server)) -asyncCheck createServer(Port(10335)) -asyncCheck launchSwarm(Port(10335)) +let server = createAsyncNativeSocket() +let port = bindAvailablePort(server.SocketHandle) +asyncCheck createServer(server) +asyncCheck launchSwarm(port) while true: poll() if clientCount == swarmSize: break -assert msgCount == swarmSize * messagesToSend -echo msgCount +doAssert msgCount == swarmSize * messagesToSend +doAssert msgCount == 2000 |