remove use of asyncCheck and fix multistream tests

This commit is contained in:
Dmitriy Ryajov 2021-04-07 12:31:50 -06:00
parent 41348f0f3f
commit 099f15f45d
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4
4 changed files with 26 additions and 22 deletions

View File

@ -100,7 +100,7 @@ suite "Identify":
asyncTest "handle failed identify":
msListen.addHandler(IdentifyCodec, identifyProto1)
asyncCheck transport1.start(ma)
asyncSpawn transport1.start(ma)
proc acceptHandler() {.async.} =
var conn: Connection

View File

@ -58,7 +58,7 @@ method write*(s: TestSelectStream, msg: seq[byte])
{.async, raises: [Defect, LPStreamClosedError].} =
discard
method close(s: TestSelectStream) {.async, gcsafe.} =
method close(s: TestSelectStream) {.async, gcsafe, raises: [Defect].} =
s.isClosed = true
s.isEof = true
@ -68,7 +68,8 @@ proc newTestSelectStream(): TestSelectStream =
## Mock stream for handles `ls` test
type
LsHandler = proc(procs: seq[byte]): Future[void] {.gcsafe.}
LsHandler = proc(procs: seq[byte]): Future[void]
{.gcsafe, raises: [Defect].}
TestLsStream = ref object of Connection
step*: int
@ -122,7 +123,8 @@ proc newTestLsStream(ls: LsHandler): TestLsStream {.gcsafe.} =
## Mock stream for handles `na` test
type
NaHandler = proc(procs: string): Future[void] {.gcsafe.}
NaHandler = proc(procs: string): Future[void]
{.gcsafe, raises: [Defect].}
TestNaStream = ref object of Connection
step*: int
@ -204,17 +206,19 @@ suite "Multistream select":
asyncTest "test handle `ls`":
let ms = newMultistream()
proc testLsHandler(proto: seq[byte]) {.async, gcsafe.} # forward declaration
let conn = Connection(newTestLsStream(testLsHandler))
var conn: Connection
let done = newFuture[void]()
proc testLsHandler(proto: seq[byte]) {.async, gcsafe.} =
proc testLsHandler(proto: seq[byte]) {.async, gcsafe, raises: [Defect].} =
var strProto: string = string.fromBytes(proto)
check strProto == "\x26/test/proto1/1.0.0\n/test/proto2/1.0.0\n"
await conn.close()
done.complete()
proc testHandler(conn: Connection, proto: string): Future[void]
{.async, gcsafe.} = discard
conn = Connection(newTestLsStream(testLsHandler))
proc testHandler(conn: Connection, proto: string)
{.async, gcsafe, raises: [Defect].} = discard
var protocol: LPProtocol = new LPProtocol
protocol.handler = testHandler
ms.addHandler("/test/proto1/1.0.0", protocol)
@ -225,13 +229,13 @@ suite "Multistream select":
asyncTest "test handle `na`":
let ms = newMultistream()
proc testNaHandler(msg: string): Future[void] {.async, gcsafe.}
let conn = newTestNaStream(testNaHandler)
proc testNaHandler(msg: string): Future[void] {.async, gcsafe.} =
var conn: Connection
proc testNaHandler(msg: string): Future[void]
{.async, gcsafe, raises: [Defect].} =
echo msg
check msg == Na
await conn.close()
conn = newTestNaStream(testNaHandler)
var protocol: LPProtocol = new LPProtocol
proc testHandler(conn: Connection,
@ -258,7 +262,7 @@ suite "Multistream select":
msListen.addHandler("/test/proto/1.0.0", protocol)
let transport1 = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(ma)
asyncSpawn transport1.start(ma)
proc acceptHandler(): Future[void] {.async, gcsafe.} =
let conn = await transport1.accept()
@ -350,7 +354,7 @@ suite "Multistream select":
msListen.addHandler("/test/proto/1.0.0", protocol)
let transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(ma)
asyncSpawn transport1.start(ma)
proc acceptHandler(): Future[void] {.async, gcsafe.} =
let conn = await transport1.accept()
@ -388,7 +392,7 @@ suite "Multistream select":
msListen.addHandler("/test/proto2/1.0.0", protocol)
let transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(ma)
asyncSpawn transport1.start(ma)
proc acceptHandler(): Future[void] {.async, gcsafe.} =
let conn = await transport1.accept()

View File

@ -82,7 +82,7 @@ suite "Noise":
serverNoise = newNoise(rng, serverInfo.privateKey, outgoing = false)
let transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(server)
asyncSpawn transport1.start(server)
proc acceptHandler() {.async.} =
let conn = await transport1.accept()
@ -121,7 +121,7 @@ suite "Noise":
let
transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(server)
asyncSpawn transport1.start(server)
proc acceptHandler() {.async, gcsafe.} =
var conn: Connection
@ -156,7 +156,7 @@ suite "Noise":
readTask = newFuture[void]()
let transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(server)
asyncSpawn transport1.start(server)
proc acceptHandler() {.async, gcsafe.} =
let conn = await transport1.accept()

View File

@ -19,7 +19,7 @@ suite "TCP transport":
asyncTest "test listener: handle write":
let ma: MultiAddress = Multiaddress.init("/ip4/0.0.0.0/tcp/0").tryGet()
let transport: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport.start(ma)
asyncSpawn transport.start(ma)
proc acceptHandler() {.async, gcsafe.} =
let conn = await transport.accept()
@ -41,7 +41,7 @@ suite "TCP transport":
let ma: MultiAddress = Multiaddress.init("/ip4/0.0.0.0/tcp/0").tryGet()
let transport: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport.start(ma)
asyncSpawn transport.start(ma)
proc acceptHandler() {.async, gcsafe.} =
var msg = newSeq[byte](6)
@ -154,7 +154,7 @@ suite "TCP transport":
asyncTest "e2e: handle read":
let ma: MultiAddress = Multiaddress.init("/ip4/0.0.0.0/tcp/0").tryGet()
let transport1: TcpTransport = TcpTransport.init(upgrade = Upgrade())
asyncCheck transport1.start(ma)
asyncSpawn transport1.start(ma)
proc acceptHandler() {.async, gcsafe.} =
let conn = await transport1.accept()