fix deprecations and other warnings (#13748)
This commit is contained in:
parent
182d3c16e3
commit
5b55aa52d0
22 changed files with 63 additions and 66 deletions
|
|
@ -276,7 +276,7 @@ when defined(windows) or defined(nimdoc):
|
||||||
## Creates a new Dispatcher instance.
|
## Creates a new Dispatcher instance.
|
||||||
new result
|
new result
|
||||||
result.ioPort = createIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 1)
|
result.ioPort = createIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 1)
|
||||||
result.handles = initSet[AsyncFD]()
|
result.handles = initHashSet[AsyncFD]()
|
||||||
result.timers.newHeapQueue()
|
result.timers.newHeapQueue()
|
||||||
result.callbacks = initDeque[proc () {.closure, gcsafe.}](64)
|
result.callbacks = initDeque[proc () {.closure, gcsafe.}](64)
|
||||||
|
|
||||||
|
|
@ -398,7 +398,7 @@ when defined(windows) or defined(nimdoc):
|
||||||
addr bytesRet, nil, nil) == 0
|
addr bytesRet, nil, nil) == 0
|
||||||
|
|
||||||
proc initAll() =
|
proc initAll() =
|
||||||
let dummySock = newNativeSocket()
|
let dummySock = createNativeSocket()
|
||||||
if dummySock == INVALID_SOCKET:
|
if dummySock == INVALID_SOCKET:
|
||||||
raiseOSError(osLastError())
|
raiseOSError(osLastError())
|
||||||
var fun: pointer = nil
|
var fun: pointer = nil
|
||||||
|
|
@ -713,7 +713,7 @@ when defined(windows) or defined(nimdoc):
|
||||||
verifyPresence(socket)
|
verifyPresence(socket)
|
||||||
var retFuture = newFuture[tuple[address: string, client: AsyncFD]]("acceptAddr")
|
var retFuture = newFuture[tuple[address: string, client: AsyncFD]]("acceptAddr")
|
||||||
|
|
||||||
var clientSock = newNativeSocket()
|
var clientSock = createNativeSocket()
|
||||||
if clientSock == osInvalidSocket: raiseOSError(osLastError())
|
if clientSock == osInvalidSocket: raiseOSError(osLastError())
|
||||||
|
|
||||||
const lpOutputLen = 1024
|
const lpOutputLen = 1024
|
||||||
|
|
@ -1121,7 +1121,7 @@ else:
|
||||||
proc newDispatcher*(): owned(PDispatcher) =
|
proc newDispatcher*(): owned(PDispatcher) =
|
||||||
new result
|
new result
|
||||||
result.selector = newSelector[AsyncData]()
|
result.selector = newSelector[AsyncData]()
|
||||||
result.timers.newHeapQueue()
|
result.timers.clear()
|
||||||
result.callbacks = initDeque[proc () {.closure, gcsafe.}](InitDelayedCallbackListSize)
|
result.callbacks = initDeque[proc () {.closure, gcsafe.}](InitDelayedCallbackListSize)
|
||||||
|
|
||||||
var gDisp{.threadvar.}: owned PDispatcher ## Global dispatcher
|
var gDisp{.threadvar.}: owned PDispatcher ## Global dispatcher
|
||||||
|
|
@ -1574,7 +1574,7 @@ proc poll*(timeout = 500) =
|
||||||
discard runOnce(timeout)
|
discard runOnce(timeout)
|
||||||
|
|
||||||
template createAsyncNativeSocketImpl(domain, sockType, protocol) =
|
template createAsyncNativeSocketImpl(domain, sockType, protocol) =
|
||||||
let handle = newNativeSocket(domain, sockType, protocol)
|
let handle = createNativeSocket(domain, sockType, protocol)
|
||||||
if handle == osInvalidSocket:
|
if handle == osInvalidSocket:
|
||||||
return osInvalidSocket.AsyncFD
|
return osInvalidSocket.AsyncFD
|
||||||
handle.setBlocking(false)
|
handle.setBlocking(false)
|
||||||
|
|
|
||||||
|
|
@ -113,8 +113,8 @@ proc close*[T](s: Selector[T]) =
|
||||||
|
|
||||||
when defined(windows):
|
when defined(windows):
|
||||||
proc newSelectEvent*(): SelectEvent =
|
proc newSelectEvent*(): SelectEvent =
|
||||||
var ssock = newNativeSocket()
|
var ssock = createNativeSocket()
|
||||||
var wsock = newNativeSocket()
|
var wsock = createNativeSocket()
|
||||||
var rsock: SocketHandle = INVALID_SOCKET
|
var rsock: SocketHandle = INVALID_SOCKET
|
||||||
var saddr = Sockaddr_in()
|
var saddr = Sockaddr_in()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,7 @@
|
||||||
include "system/inclrtl"
|
include "system/inclrtl"
|
||||||
|
|
||||||
{.deadCodeElim: on.} # dce option deprecated
|
{.deadCodeElim: on.} # dce option deprecated
|
||||||
import nativesockets, os, strutils, parseutils, times, sets, options,
|
import nativesockets, os, strutils, times, sets, options, std/monotimes
|
||||||
std/monotimes
|
|
||||||
from ospaths import getEnv
|
|
||||||
from ssl_certs import scanSSLCertificates
|
from ssl_certs import scanSSLCertificates
|
||||||
export nativesockets.Port, nativesockets.`$`, nativesockets.`==`
|
export nativesockets.Port, nativesockets.`$`, nativesockets.`==`
|
||||||
export Domain, SockType, Protocol
|
export Domain, SockType, Protocol
|
||||||
|
|
@ -603,7 +601,7 @@ when defineSsl:
|
||||||
if not found:
|
if not found:
|
||||||
raise newException(IOError, "No SSL/TLS CA certificates found.")
|
raise newException(IOError, "No SSL/TLS CA certificates found.")
|
||||||
|
|
||||||
result = SSLContext(context: newCTX, referencedData: initSet[int](),
|
result = SSLContext(context: newCTX, referencedData: initHashSet[int](),
|
||||||
extraInternal: new(SslContextExtraInternal))
|
extraInternal: new(SslContextExtraInternal))
|
||||||
|
|
||||||
proc getExtraInternal(ctx: SslContext): SslContextExtraInternal =
|
proc getExtraInternal(ctx: SslContext): SslContextExtraInternal =
|
||||||
|
|
|
||||||
|
|
@ -181,7 +181,7 @@ proc writeProfile() {.noconv.} =
|
||||||
|
|
||||||
var perProc = initCountTable[string]()
|
var perProc = initCountTable[string]()
|
||||||
for i in 0..entries-1:
|
for i in 0..entries-1:
|
||||||
var dups = initSet[string]()
|
var dups = initHashSet[string]()
|
||||||
for ii in 0..high(StackTrace.lines):
|
for ii in 0..high(StackTrace.lines):
|
||||||
let procname = profileData[i].st[ii]
|
let procname = profileData[i].st[ii]
|
||||||
if isNil(procname): break
|
if isNil(procname): break
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ type X = object
|
||||||
proc main =
|
proc main =
|
||||||
# bug #52
|
# bug #52
|
||||||
var
|
var
|
||||||
set0 = initSet[int]()
|
set0 = initHashSet[int]()
|
||||||
set1 = initSet[X]()
|
set1 = initHashSet[X]()
|
||||||
set2 = initSet[ref int]()
|
set2 = initHashSet[ref int]()
|
||||||
|
|
||||||
map0 = initTable[int, int]()
|
map0 = initTable[int, int]()
|
||||||
map1 = initOrderedTable[string, int]()
|
map1 = initOrderedTable[string, int]()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ discard """
|
||||||
|
|
||||||
import asyncdispatch
|
import asyncdispatch
|
||||||
import asyncfile
|
import asyncfile
|
||||||
import times
|
|
||||||
|
|
||||||
var asyncStdout = 1.AsyncFD.newAsyncFile()
|
var asyncStdout = 1.AsyncFD.newAsyncFile()
|
||||||
proc doStuff: Future[void] {.async.} =
|
proc doStuff: Future[void] {.async.} =
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import asyncdispatch, net, os, nativesockets
|
||||||
# bug: https://github.com/nim-lang/Nim/issues/5279
|
# bug: https://github.com/nim-lang/Nim/issues/5279
|
||||||
|
|
||||||
proc setupServerSocket(hostname: string, port: Port): AsyncFD =
|
proc setupServerSocket(hostname: string, port: Port): AsyncFD =
|
||||||
let fd = newNativeSocket()
|
let fd = createNativeSocket()
|
||||||
if fd == osInvalidSocket:
|
if fd == osInvalidSocket:
|
||||||
raiseOSError(osLastError())
|
raiseOSError(osLastError())
|
||||||
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
||||||
|
|
@ -30,7 +30,7 @@ for i in 0..100:
|
||||||
if not fut.failed:
|
if not fut.failed:
|
||||||
fut.read().closeSocket()
|
fut.read().closeSocket()
|
||||||
|
|
||||||
var fd = newAsyncNativeSocket()
|
var fd = createAsyncNativeSocket()
|
||||||
waitFor fd.connect("localhost", port)
|
waitFor fd.connect("localhost", port)
|
||||||
serverFd.closeSocket()
|
serverFd.closeSocket()
|
||||||
fd.closeSocket()
|
fd.closeSocket()
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ when defined(windows) or defined(nimdoc):
|
||||||
quit("Error: unhandled exception: Connection refused")
|
quit("Error: unhandled exception: Connection refused")
|
||||||
else:
|
else:
|
||||||
proc testAsyncConnect() {.async.} =
|
proc testAsyncConnect() {.async.} =
|
||||||
var s = newAsyncNativeSocket()
|
var s = createAsyncNativeSocket()
|
||||||
|
|
||||||
await s.connect(testHost, testPort)
|
await s.connect(testHost, testPort)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ proc setupServerSocket(hostname: string, port: Port, domain: Domain): AsyncFD =
|
||||||
## Creates a socket, binds it to the specified address, and starts listening for connections.
|
## Creates a socket, binds it to the specified address, and starts listening for connections.
|
||||||
## Registers the descriptor with the dispatcher of the current thread
|
## Registers the descriptor with the dispatcher of the current thread
|
||||||
## Raises OSError in case of an error.
|
## Raises OSError in case of an error.
|
||||||
let fd = newNativeSocket(domain)
|
let fd = createNativeSocket(domain)
|
||||||
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
||||||
var aiList = getAddrInfo(hostname, port, domain)
|
var aiList = getAddrInfo(hostname, port, domain)
|
||||||
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ template processTest(t, x: untyped) =
|
||||||
when defined(macosx):
|
when defined(macosx):
|
||||||
echo "All tests passed!"
|
echo "All tests passed!"
|
||||||
elif not defined(windows):
|
elif not defined(windows):
|
||||||
import os, posix, nativesockets, times
|
import os, posix, nativesockets
|
||||||
|
|
||||||
when ioselSupportedPlatform:
|
when ioselSupportedPlatform:
|
||||||
import osproc
|
import osproc
|
||||||
|
|
@ -445,7 +445,7 @@ elif not defined(windows):
|
||||||
var
|
var
|
||||||
thr: array[0..7, Thread[SelectEvent]]
|
thr: array[0..7, Thread[SelectEvent]]
|
||||||
var selector = newSelector[int]()
|
var selector = newSelector[int]()
|
||||||
var sock = newNativeSocket()
|
var sock = createNativeSocket()
|
||||||
var event = newSelectEvent()
|
var event = newSelectEvent()
|
||||||
for i in 0..high(thr):
|
for i in 0..high(thr):
|
||||||
createThread(thr[i], event_wait_thread, event)
|
createThread(thr[i], event_wait_thread, event)
|
||||||
|
|
@ -475,7 +475,7 @@ else:
|
||||||
|
|
||||||
proc socket_notification_test(): bool =
|
proc socket_notification_test(): bool =
|
||||||
proc create_test_socket(): SocketHandle =
|
proc create_test_socket(): SocketHandle =
|
||||||
var sock = newNativeSocket()
|
var sock = createNativeSocket()
|
||||||
setBlocking(sock, false)
|
setBlocking(sock, false)
|
||||||
result = sock
|
result = sock
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,9 @@ proc launchSwarm(name: ptr SockAddr) {.async.} =
|
||||||
var saddr = Sockaddr_in()
|
var saddr = Sockaddr_in()
|
||||||
while i < swarmSize:
|
while i < swarmSize:
|
||||||
var peeraddr = prepareAddress(INADDR_LOOPBACK, 0)
|
var peeraddr = prepareAddress(INADDR_LOOPBACK, 0)
|
||||||
var sock = newAsyncNativeSocket(nativesockets.AF_INET,
|
var sock = createAsyncNativeSocket(nativesockets.AF_INET,
|
||||||
nativesockets.SOCK_DGRAM,
|
nativesockets.SOCK_DGRAM,
|
||||||
Protocol.IPPROTO_UDP)
|
Protocol.IPPROTO_UDP)
|
||||||
if bindAddr(sock.SocketHandle, cast[ptr SockAddr](peeraddr),
|
if bindAddr(sock.SocketHandle, cast[ptr SockAddr](peeraddr),
|
||||||
sizeof(Sockaddr_in).Socklen) < 0'i32:
|
sizeof(Sockaddr_in).Socklen) < 0'i32:
|
||||||
raiseOSError(osLastError())
|
raiseOSError(osLastError())
|
||||||
|
|
@ -91,9 +91,9 @@ proc readMessages(server: AsyncFD) {.async.} =
|
||||||
|
|
||||||
proc createServer() {.async.} =
|
proc createServer() {.async.} =
|
||||||
var name = prepareAddress(INADDR_LOOPBACK, serverPort)
|
var name = prepareAddress(INADDR_LOOPBACK, serverPort)
|
||||||
var server = newAsyncNativeSocket(nativesockets.AF_INET,
|
var server = createAsyncNativeSocket(nativesockets.AF_INET,
|
||||||
nativesockets.SOCK_DGRAM,
|
nativesockets.SOCK_DGRAM,
|
||||||
Protocol.IPPROTO_UDP)
|
Protocol.IPPROTO_UDP)
|
||||||
if bindAddr(server.SocketHandle, cast[ptr SockAddr](name),
|
if bindAddr(server.SocketHandle, cast[ptr SockAddr](name),
|
||||||
sizeof(Sockaddr_in).Socklen) < 0'i32:
|
sizeof(Sockaddr_in).Socklen) < 0'i32:
|
||||||
raiseOSError(osLastError())
|
raiseOSError(osLastError())
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ when defined(windows):
|
||||||
|
|
||||||
proc launchSwarm(port: Port) {.async.} =
|
proc launchSwarm(port: Port) {.async.} =
|
||||||
for i in 0 ..< swarmSize:
|
for i in 0 ..< swarmSize:
|
||||||
var sock = newNativeSocket()
|
var sock = createNativeSocket()
|
||||||
setBlocking(sock, false)
|
setBlocking(sock, false)
|
||||||
|
|
||||||
await winConnect(AsyncFD(sock), "localhost", port)
|
await winConnect(AsyncFD(sock), "localhost", port)
|
||||||
|
|
@ -229,7 +229,7 @@ when defined(windows):
|
||||||
doAssert false
|
doAssert false
|
||||||
|
|
||||||
proc createServer(port: Port) {.async.} =
|
proc createServer(port: Port) {.async.} =
|
||||||
var server = newNativeSocket()
|
var server = createNativeSocket()
|
||||||
setBlocking(server, false)
|
setBlocking(server, false)
|
||||||
block:
|
block:
|
||||||
var name = Sockaddr_in()
|
var name = Sockaddr_in()
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,9 @@ doAssert $(@["1", "2", "3"]) == """@["1", "2", "3"]"""
|
||||||
doAssert $(@['1', '2', '3']) == """@['1', '2', '3']"""
|
doAssert $(@['1', '2', '3']) == """@['1', '2', '3']"""
|
||||||
|
|
||||||
# Tests for sets
|
# Tests for sets
|
||||||
doAssert $(toSet([1])) == "{1}"
|
doAssert $(toHashSet([1])) == "{1}"
|
||||||
doAssert $(toSet(["1"])) == """{"1"}"""
|
doAssert $(toHashSet(["1"])) == """{"1"}"""
|
||||||
doAssert $(toSet(['1'])) == """{'1'}"""
|
doAssert $(toHashSet(['1'])) == """{'1'}"""
|
||||||
doAssert $(toOrderedSet([1, 2, 3])) == "{1, 2, 3}"
|
doAssert $(toOrderedSet([1, 2, 3])) == "{1, 2, 3}"
|
||||||
doAssert $(toOrderedSet(["1", "2", "3"])) == """{"1", "2", "3"}"""
|
doAssert $(toOrderedSet(["1", "2", "3"])) == """{"1", "2", "3"}"""
|
||||||
doAssert $(toOrderedSet(['1', '2', '3'])) == """{'1', '2', '3'}"""
|
doAssert $(toOrderedSet(['1', '2', '3'])) == """{'1', '2', '3'}"""
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@ import sets, hashes, algorithm
|
||||||
|
|
||||||
block setEquality:
|
block setEquality:
|
||||||
var
|
var
|
||||||
a = initSet[int]()
|
a = initHashSet[int]()
|
||||||
b = initSet[int]()
|
b = initHashSet[int]()
|
||||||
c = initSet[string]()
|
c = initHashSet[string]()
|
||||||
|
|
||||||
for i in 0..5: a.incl(i)
|
for i in 0..5: a.incl(i)
|
||||||
for i in 1..6: b.incl(i)
|
for i in 1..6: b.incl(i)
|
||||||
|
|
@ -16,27 +16,27 @@ block setEquality:
|
||||||
|
|
||||||
|
|
||||||
block setsContainingTuples:
|
block setsContainingTuples:
|
||||||
var set = initSet[tuple[i: int, i64: int64, f: float]]()
|
var set = initHashSet[tuple[i: int, i64: int64, f: float]]()
|
||||||
set.incl( (i: 123, i64: 123'i64, f: 3.14) )
|
set.incl( (i: 123, i64: 123'i64, f: 3.14) )
|
||||||
doAssert set.contains( (i: 123, i64: 123'i64, f: 3.14) )
|
doAssert set.contains( (i: 123, i64: 123'i64, f: 3.14) )
|
||||||
doAssert( not set.contains( (i: 456, i64: 789'i64, f: 2.78) ) )
|
doAssert( not set.contains( (i: 456, i64: 789'i64, f: 2.78) ) )
|
||||||
|
|
||||||
|
|
||||||
block setWithTuplesWithSeqs:
|
block setWithTuplesWithSeqs:
|
||||||
var s = initSet[tuple[s: seq[int]]]()
|
var s = initHashSet[tuple[s: seq[int]]]()
|
||||||
s.incl( (s: @[1, 2, 3]) )
|
s.incl( (s: @[1, 2, 3]) )
|
||||||
doAssert s.contains( (s: @[1, 2, 3]) )
|
doAssert s.contains( (s: @[1, 2, 3]) )
|
||||||
doAssert( not s.contains((s: @[4, 5, 6])) )
|
doAssert( not s.contains((s: @[4, 5, 6])) )
|
||||||
|
|
||||||
|
|
||||||
block setWithSequences:
|
block setWithSequences:
|
||||||
var s = initSet[seq[int]]()
|
var s = initHashSet[seq[int]]()
|
||||||
s.incl( @[1, 2, 3] )
|
s.incl( @[1, 2, 3] )
|
||||||
doAssert s.contains(@[1, 2, 3])
|
doAssert s.contains(@[1, 2, 3])
|
||||||
doAssert( not s.contains(@[4, 5, 6]) )
|
doAssert( not s.contains(@[4, 5, 6]) )
|
||||||
|
|
||||||
block setClearWorked:
|
block setClearWorked:
|
||||||
var s = initSet[char]()
|
var s = initHashSet[char]()
|
||||||
|
|
||||||
for c in "this is a test":
|
for c in "this is a test":
|
||||||
s.incl(c)
|
s.incl(c)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ proc foo*(b: any) =
|
||||||
|
|
||||||
import sets
|
import sets
|
||||||
|
|
||||||
var intset = initSet[int]()
|
var intset = initHashSet[int]()
|
||||||
|
|
||||||
proc fn*[T](a: T) =
|
proc fn*[T](a: T) =
|
||||||
if a in intset: echo("true")
|
if a in intset: echo("true")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import nativesockets, asyncdispatch, macros
|
import nativesockets, asyncdispatch, macros
|
||||||
var p = newDispatcher()
|
var p = newDispatcher()
|
||||||
var sock = newAsyncNativeSocket()
|
var sock = createAsyncNativeSocket()
|
||||||
|
|
||||||
proc convertReturns(node, retFutureSym: NimNode): NimNode {.compileTime.} =
|
proc convertReturns(node, retFutureSym: NimNode): NimNode {.compileTime.} =
|
||||||
case node.kind
|
case node.kind
|
||||||
|
|
@ -27,7 +27,7 @@ macro async2(prc: untyped): untyped =
|
||||||
|
|
||||||
# -> iterator nameIter(): FutureBase {.closure.} = <proc_body>
|
# -> iterator nameIter(): FutureBase {.closure.} = <proc_body>
|
||||||
# Changing this line to: newIdentNode($prc[0].ident & "Iter") # will make it work.
|
# Changing this line to: newIdentNode($prc[0].ident & "Iter") # will make it work.
|
||||||
var iteratorNameSym = genSym(nskIterator, $prc[0].ident & "Iter")
|
var iteratorNameSym = genSym(nskIterator, $prc[0] & "Iter")
|
||||||
assert iteratorNameSym.symKind == nskIterator
|
assert iteratorNameSym.symKind == nskIterator
|
||||||
#var iteratorNameSym = newIdentNode($prc[0].ident & "Iter")
|
#var iteratorNameSym = newIdentNode($prc[0].ident & "Iter")
|
||||||
var procBody = prc[6].convertReturns(retFutureSym)
|
var procBody = prc[6].convertReturns(retFutureSym)
|
||||||
|
|
@ -39,7 +39,7 @@ macro async2(prc: untyped): untyped =
|
||||||
|
|
||||||
# -> var nameIterVar = nameIter
|
# -> var nameIterVar = nameIter
|
||||||
# -> var first = nameIterVar()
|
# -> var first = nameIterVar()
|
||||||
var varNameIterSym = newIdentNode($prc[0].ident & "IterVar") #genSym(nskVar, $prc[0].ident & "IterVar")
|
var varNameIterSym = newIdentNode($prc[0] & "IterVar") #genSym(nskVar, $prc[0].ident & "IterVar")
|
||||||
var varNameIter = newVarStmt(varNameIterSym, iteratorNameSym)
|
var varNameIter = newVarStmt(varNameIterSym, iteratorNameSym)
|
||||||
outerProcBody.add varNameIter
|
outerProcBody.add varNameIter
|
||||||
var varFirstSym = genSym(nskVar, "first")
|
var varFirstSym = genSym(nskVar, "first")
|
||||||
|
|
@ -52,7 +52,7 @@ macro async2(prc: untyped): untyped =
|
||||||
|
|
||||||
# Remove the 'closure' pragma.
|
# Remove the 'closure' pragma.
|
||||||
for i in 0 ..< result[4].len:
|
for i in 0 ..< result[4].len:
|
||||||
if result[4][i].ident == !"async":
|
if result[4][i] == newIdentNode("async"):
|
||||||
result[4].del(i)
|
result[4].del(i)
|
||||||
|
|
||||||
result[6] = outerProcBody
|
result[6] = outerProcBody
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ task "release", "release build":
|
||||||
## zip up all the files and such or something useful here
|
## zip up all the files and such or something useful here
|
||||||
|
|
||||||
task "testskel", "create skeleton test dir for testing":
|
task "testskel", "create skeleton test dir for testing":
|
||||||
let dirname = "test-"& $random(5000)
|
let dirname = "test-" & $random(5000)
|
||||||
removeDir dirName
|
removeDir dirName
|
||||||
createDir dirName/"data/fnt"
|
createDir dirName/"data/fnt"
|
||||||
copyFile "data/fnt/LiberationMono-Regular", dirName/"data/fnt/LiberationMono-Regular.ttf"
|
copyFile "data/fnt/LiberationMono-Regular", dirName/"data/fnt/LiberationMono-Regular.ttf"
|
||||||
|
|
@ -133,7 +133,7 @@ task "download", "download game assets":
|
||||||
else: ## this crashes, dunno why
|
else: ## this crashes, dunno why
|
||||||
var
|
var
|
||||||
z: TZipArchive
|
z: TZipArchive
|
||||||
destDir = getCurrentDir()/("unzip"& $random(5000))
|
destDir = getCurrentDir()/("unzip" & $random(5000))
|
||||||
if not z.open(path, fmRead):
|
if not z.open(path, fmRead):
|
||||||
echo "Could not open zip, bad download?"
|
echo "Could not open zip, bad download?"
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ const manualTests = false
|
||||||
|
|
||||||
proc makeIPv6HttpServer(hostname: string, port: Port,
|
proc makeIPv6HttpServer(hostname: string, port: Port,
|
||||||
message: string): AsyncFD =
|
message: string): AsyncFD =
|
||||||
let fd = newNativeSocket(AF_INET6)
|
let fd = createNativeSocket(AF_INET6)
|
||||||
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
||||||
var aiList = getAddrInfo(hostname, port, AF_INET6)
|
var aiList = getAddrInfo(hostname, port, AF_INET6)
|
||||||
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
||||||
|
|
|
||||||
|
|
@ -22,58 +22,58 @@ suite "random int":
|
||||||
var set = initHashSet[int](128)
|
var set = initHashSet[int](128)
|
||||||
|
|
||||||
for i in 1..1000:
|
for i in 1..1000:
|
||||||
incl(set, random(high(int)))
|
incl(set, rand(high(int)))
|
||||||
check len(set) == 1000
|
check len(set) == 1000
|
||||||
test "single number bounds work":
|
test "single number bounds work":
|
||||||
|
|
||||||
var rand: int
|
var rand: int
|
||||||
for i in 1..1000:
|
for i in 1..1000:
|
||||||
rand = random(1000)
|
rand = rand(1000)
|
||||||
check rand < 1000
|
check rand < 1000
|
||||||
check rand > -1
|
check rand > -1
|
||||||
test "slice bounds work":
|
test "slice bounds work":
|
||||||
|
|
||||||
var rand: int
|
var rand: int
|
||||||
for i in 1..1000:
|
for i in 1..1000:
|
||||||
rand = random(100..1000)
|
rand = rand(100..1000)
|
||||||
check rand < 1000
|
check rand < 1000
|
||||||
check rand >= 100
|
check rand >= 100
|
||||||
test " again gives new numbers":
|
test " again gives new numbers":
|
||||||
|
|
||||||
var rand1 = random(1000000)
|
var rand1 = rand(1000000)
|
||||||
os.sleep(200)
|
os.sleep(200)
|
||||||
|
|
||||||
var rand2 = random(1000000)
|
var rand2 = rand(1000000)
|
||||||
check rand1 != rand2
|
check rand1 != rand2
|
||||||
|
|
||||||
|
|
||||||
suite "random float":
|
suite "random float":
|
||||||
test "there might be some randomness":
|
test "there might be some randomness":
|
||||||
var set = initSet[float](128)
|
var set = initHashSet[float](128)
|
||||||
|
|
||||||
for i in 1..100:
|
for i in 1..100:
|
||||||
incl(set, random(1.0))
|
incl(set, rand(1.0))
|
||||||
check len(set) == 100
|
check len(set) == 100
|
||||||
test "single number bounds work":
|
test "single number bounds work":
|
||||||
|
|
||||||
var rand: float
|
var rand: float
|
||||||
for i in 1..1000:
|
for i in 1..1000:
|
||||||
rand = random(1000.0)
|
rand = rand(1000.0)
|
||||||
check rand < 1000.0
|
check rand < 1000.0
|
||||||
check rand > -1.0
|
check rand > -1.0
|
||||||
test "slice bounds work":
|
test "slice bounds work":
|
||||||
|
|
||||||
var rand: float
|
var rand: float
|
||||||
for i in 1..1000:
|
for i in 1..1000:
|
||||||
rand = random(100.0..1000.0)
|
rand = rand(100.0..1000.0)
|
||||||
check rand < 1000.0
|
check rand < 1000.0
|
||||||
check rand >= 100.0
|
check rand >= 100.0
|
||||||
test " again gives new numbers":
|
test " again gives new numbers":
|
||||||
|
|
||||||
var rand1:float = random(1000000.0)
|
var rand1:float = rand(1000000.0)
|
||||||
os.sleep(200)
|
os.sleep(200)
|
||||||
|
|
||||||
var rand2:float = random(1000000.0)
|
var rand2:float = rand(1000000.0)
|
||||||
check rand1 != rand2
|
check rand1 != rand2
|
||||||
|
|
||||||
suite "cumsum":
|
suite "cumsum":
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ block:
|
||||||
import sets
|
import sets
|
||||||
|
|
||||||
block:
|
block:
|
||||||
var x = initSet[int]()
|
var x = initHashSet[int]()
|
||||||
x.incl 5
|
x.incl 5
|
||||||
try:
|
try:
|
||||||
echo x[6]
|
echo x[6]
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import os, net, nativesockets, asyncdispatch
|
||||||
const port = Port(28431)
|
const port = Port(28431)
|
||||||
|
|
||||||
proc initIPv6Server(hostname: string, port: Port): AsyncFD =
|
proc initIPv6Server(hostname: string, port: Port): AsyncFD =
|
||||||
let fd = newNativeSocket(AF_INET6)
|
let fd = createNativeSocket(AF_INET6)
|
||||||
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
|
||||||
var aiList = getAddrInfo(hostname, port, AF_INET6)
|
var aiList = getAddrInfo(hostname, port, AF_INET6)
|
||||||
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ when defined(case_testfile): # compiled test file for child process
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
import os, osproc, strutils, posix
|
import os, osproc, strutils
|
||||||
const nim = getCurrentCompilerExe()
|
const nim = getCurrentCompilerExe()
|
||||||
|
|
||||||
block execShellCmdTest:
|
block execShellCmdTest:
|
||||||
|
|
@ -74,7 +74,7 @@ else:
|
||||||
|
|
||||||
block execProcessTest:
|
block execProcessTest:
|
||||||
let dir = parentDir(currentSourcePath())
|
let dir = parentDir(currentSourcePath())
|
||||||
let (outp, err) = execCmdEx(nim & " c " & quoteShell(dir / "osproctest.nim"))
|
let (_, err) = execCmdEx(nim & " c " & quoteShell(dir / "osproctest.nim"))
|
||||||
doAssert err == 0
|
doAssert err == 0
|
||||||
let exePath = dir / addFileExt("osproctest", ExeExt)
|
let exePath = dir / addFileExt("osproctest", ExeExt)
|
||||||
let outStr1 = execProcess(exePath, workingDir = dir, args = ["foo",
|
let outStr1 = execProcess(exePath, workingDir = dir, args = ["foo",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue