Merge pull request #93 from status-im/update-asynctest
Update asynctest and fix warnings
This commit is contained in:
commit
1abf5f2f91
|
@ -1,32 +0,0 @@
|
|||
## nim-websock
|
||||
## Copyright (c) 2021 Status Research & Development GmbH
|
||||
## Licensed under either of
|
||||
## * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE))
|
||||
## * MIT license ([LICENSE-MIT](LICENSE-MIT))
|
||||
## at your option.
|
||||
## This file may not be copied, modified, or distributed except according to
|
||||
## those terms.
|
||||
|
||||
import unittest2
|
||||
export unittest2 except suite, test
|
||||
|
||||
template suite*(name, body) =
|
||||
suite name:
|
||||
|
||||
template setup(setupBody) {.used.} =
|
||||
setup:
|
||||
let asyncproc = proc {.async.} = setupBody
|
||||
waitFor asyncproc()
|
||||
|
||||
template teardown(teardownBody) {.used.} =
|
||||
teardown:
|
||||
let asyncproc = proc {.async.} = teardownBody
|
||||
waitFor asyncproc()
|
||||
|
||||
let suiteproc = proc = body # Avoids GcUnsafe2 warnings with chronos
|
||||
suiteproc()
|
||||
|
||||
template test*(name, body) =
|
||||
test name:
|
||||
let asyncproc = proc {.async.} = body
|
||||
waitFor asyncproc()
|
|
@ -8,7 +8,6 @@
|
|||
## those terms.
|
||||
|
||||
import
|
||||
std/[strutils],
|
||||
pkg/[stew/results,
|
||||
stew/base64,
|
||||
chronos,
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
## those terms.
|
||||
|
||||
import
|
||||
std/[strutils],
|
||||
pkg/[stew/results,
|
||||
stew/byteutils,
|
||||
chronos,
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
## those terms.
|
||||
|
||||
import std/os
|
||||
import pkg/[chronos, stew/byteutils, stew/io2]
|
||||
import ../asyncunit
|
||||
import ../../websock/websock, ../helpers
|
||||
import pkg/[chronos, stew/io2]
|
||||
import pkg/asynctest/unittest2
|
||||
import ../../websock/websock
|
||||
import ../../websock/extensions/compression/deflate
|
||||
|
||||
const
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
|
||||
import std/strutils
|
||||
import pkg/[chronos, stew/byteutils]
|
||||
import pkg/asynctest/unittest2
|
||||
|
||||
import ../../ws/ws
|
||||
import ../asyncunit
|
||||
|
||||
type
|
||||
ExtHandler = proc(ext: Ext, frame: Frame): Future[Frame] {.raises: [Defect].}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
## those terms.
|
||||
|
||||
import pkg/[chronos, stew/byteutils]
|
||||
import ../asyncunit
|
||||
import pkg/asynctest/unittest2
|
||||
import ./base64ext, ./hexext
|
||||
import ../../websock/websock, ../helpers
|
||||
|
||||
|
|
|
@ -14,16 +14,11 @@ import pkg/[
|
|||
chronos,
|
||||
chronos/streams/tlsstream,
|
||||
httputils,
|
||||
chronicles,
|
||||
stew/byteutils]
|
||||
chronicles]
|
||||
|
||||
import ../websock/websock
|
||||
import ./keys
|
||||
|
||||
let
|
||||
WSSecureKey* = TLSPrivateKey.init(SecureKey)
|
||||
WSSecureCert* = TLSCertificate.init(SecureCert)
|
||||
|
||||
const WSPath* = when defined secure: "/wss" else: "/ws"
|
||||
|
||||
proc rndStr*(size: int): string =
|
||||
|
@ -43,8 +38,8 @@ proc waitForClose*(ws: WSSession) {.async.} =
|
|||
|
||||
proc createServer*(
|
||||
address = initTAddress("127.0.0.1:8888"),
|
||||
tlsPrivateKey = WSSecureKey,
|
||||
tlsCertificate = WSSecureCert,
|
||||
tlsPrivateKey = TLSPrivateKey.init(SecureKey),
|
||||
tlsCertificate = TLSCertificate.init(SecureCert),
|
||||
handler: HttpAsyncCallback = nil,
|
||||
flags: set[ServerFlags] = {ServerFlags.TcpNoDelay, ServerFlags.ReuseAddr},
|
||||
tlsFlags: set[TLSFlags] = {},
|
||||
|
@ -74,7 +69,7 @@ proc createServer*(
|
|||
except TransportOsError as exc:
|
||||
error "Transport error", exc = exc.msg
|
||||
|
||||
asyncCheck accepts()
|
||||
asyncSpawn accepts()
|
||||
else:
|
||||
server.handler = handler
|
||||
server.start()
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
## those terms.
|
||||
|
||||
import
|
||||
pkg/[asynctest, chronos],
|
||||
pkg/chronos,
|
||||
pkg/asynctest/unittest2,
|
||||
../websock/extensions
|
||||
|
||||
suite "extension parser":
|
||||
|
|
|
@ -7,16 +7,18 @@
|
|||
## This file may not be copied, modified, or distributed except according to
|
||||
## those terms.
|
||||
|
||||
import pkg/[asynctest, stew/byteutils]
|
||||
import pkg/stew/byteutils
|
||||
import pkg/asynctest/unittest2
|
||||
|
||||
include ../websock/frame
|
||||
include ../websock/utils
|
||||
|
||||
# TODO: Fix Test.
|
||||
|
||||
var maskKey: array[4, char]
|
||||
|
||||
suite "Test data frames":
|
||||
|
||||
var maskKey: array[4, char]
|
||||
|
||||
test "# 7bit length text":
|
||||
check (await Frame(
|
||||
fin: false,
|
||||
|
@ -252,6 +254,8 @@ suite "Test data frames":
|
|||
|
||||
suite "Test control frames":
|
||||
|
||||
var maskKey: array[4, char]
|
||||
|
||||
test "Close":
|
||||
check (await Frame(
|
||||
fin: true,
|
||||
|
|
|
@ -11,7 +11,7 @@ import
|
|||
std/[strutils],
|
||||
pkg/[
|
||||
stew/byteutils,
|
||||
asynctest,
|
||||
asynctest/unittest2,
|
||||
chronos,
|
||||
chronicles
|
||||
],
|
||||
|
@ -78,12 +78,11 @@ proc waitForClose(ws: WSSession) {.async.} =
|
|||
except CatchableError:
|
||||
trace "Closing websocket"
|
||||
|
||||
# TODO: use new test framework from dryajov
|
||||
# if it is ready.
|
||||
var server: HttpServer
|
||||
let address = initTAddress("127.0.0.1:8888")
|
||||
|
||||
suite "UTF-8 validator in action":
|
||||
|
||||
var server: HttpServer
|
||||
let address = initTAddress("127.0.0.1:8888")
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
|
|
@ -7,25 +7,25 @@
|
|||
## This file may not be copied, modified, or distributed except according to
|
||||
## those terms.
|
||||
|
||||
import std/[strutils, random]
|
||||
import std/strutils
|
||||
import pkg/[
|
||||
httputils,
|
||||
chronos,
|
||||
chronicles,
|
||||
stew/byteutils]
|
||||
stew/byteutils,
|
||||
asynctest/unittest2]
|
||||
|
||||
import ../websock/websock
|
||||
|
||||
import ./asynctest
|
||||
import ./helpers
|
||||
|
||||
let
|
||||
address* = initTAddress("127.0.0.1:8888")
|
||||
|
||||
var
|
||||
server: HttpServer
|
||||
let address = initTAddress("127.0.0.1:8888")
|
||||
|
||||
suite "Test handshake":
|
||||
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -98,6 +98,9 @@ suite "Test handshake":
|
|||
protocols = @["proto"])
|
||||
|
||||
suite "Test transmission":
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -163,6 +166,10 @@ suite "Test transmission":
|
|||
await waitForClose(session)
|
||||
|
||||
suite "Test ping-pong":
|
||||
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -280,6 +287,10 @@ suite "Test ping-pong":
|
|||
await session.close()
|
||||
|
||||
suite "Test framing":
|
||||
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -338,6 +349,10 @@ suite "Test framing":
|
|||
await waitForClose(session)
|
||||
|
||||
suite "Test Closing":
|
||||
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -564,6 +579,9 @@ suite "Test Closing":
|
|||
await session.close(reason = "HH")
|
||||
|
||||
suite "Test Payload":
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -789,6 +807,9 @@ suite "Test Payload":
|
|||
ws.binary == false
|
||||
|
||||
suite "Test Binary message with Payload":
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
@ -953,6 +974,9 @@ suite "Test Binary message with Payload":
|
|||
ws.binary == true
|
||||
|
||||
suite "Partial frames":
|
||||
var
|
||||
server: HttpServer
|
||||
|
||||
teardown:
|
||||
server.stop()
|
||||
await server.closeWait()
|
||||
|
|
|
@ -19,7 +19,7 @@ requires "chronos >= 3.0.0"
|
|||
requires "httputils >= 0.2.0"
|
||||
requires "chronicles#ba2817f1"
|
||||
requires "stew >= 0.1.0"
|
||||
requires "asynctest >= 0.2.0 & < 0.3.0"
|
||||
requires "asynctest >= 0.3.0 & < 0.4.0"
|
||||
requires "nimcrypto"
|
||||
requires "bearssl"
|
||||
requires "https://github.com/status-im/nim-zlib"
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
## This file may not be copied, modified, or distributed except according to
|
||||
## those terms.
|
||||
|
||||
import std/tables
|
||||
import ./extensions/extutils
|
||||
# import ./extensions/compression/compression
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
|
||||
import std/uri
|
||||
import pkg/[
|
||||
chronos,
|
||||
chronos/apps/http/httptable,
|
||||
chronos/streams/tlsstream,
|
||||
httputils]
|
||||
|
|
|
@ -13,8 +13,7 @@ import std/[tables,
|
|||
strutils,
|
||||
strformat,
|
||||
sequtils,
|
||||
uri,
|
||||
parseutils]
|
||||
uri]
|
||||
|
||||
import pkg/[chronos,
|
||||
chronos/apps/http/httptable,
|
||||
|
|
Loading…
Reference in New Issue