asyncdispatch.nim recursion test. (#5534)
This commit is contained in:
parent
b1c494a150
commit
ac2f1996a8
1 changed files with 21 additions and 0 deletions
21
tests/async/tasyncrecursion.nim
Normal file
21
tests/async/tasyncrecursion.nim
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
discard """
|
||||||
|
file: "tasyncrecursion.nim"
|
||||||
|
output: "50005000"
|
||||||
|
"""
|
||||||
|
import asyncdispatch
|
||||||
|
|
||||||
|
proc asyncRecursionCycle*(counter: int): Future[int] =
|
||||||
|
var retFuture = newFuture[int]("asyncRecursionTest")
|
||||||
|
retFuture.complete(counter + 1)
|
||||||
|
return retFuture
|
||||||
|
|
||||||
|
proc asyncRecursionTest*(): Future[int] {.async.} =
|
||||||
|
var i = 0
|
||||||
|
result = 0
|
||||||
|
while i < 10_000:
|
||||||
|
inc(result, await asyncRecursionCycle(i))
|
||||||
|
inc(i)
|
||||||
|
|
||||||
|
when isMainModule:
|
||||||
|
var i = waitFor asyncRecursionTest()
|
||||||
|
echo i
|
||||||
Loading…
Add table
Add a link
Reference in a new issue