summary refs log tree commit diff stats
path: root/tests/arc/tasyncorc.nim
blob: 63703b559b6a4005920bea28eb3e87c56c50dae4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
discard """
  output: '''230000'''
  cmd: '''nim c --gc:orc -d:useMalloc $file'''
  valgrind: "leaks"
"""

# bug #14402

import asynchttpserver, asyncdispatch, httpclient, strutils

proc cb(req: Request) {.async, gcsafe.} =
  const html = " ".repeat(230000)
  await req.respond(Http200, html)

var server = newAsyncHttpServer()
asyncCheck server.serve(Port(8080), cb)

proc test {.async.} =
  var
    client = newAsyncHttpClient()
    resp = await client.get("http://localhost:8080")

  let x = (await resp.body).len
  echo x # crash

waitFor test()