From dd6b0f81efe54cbc17a79e5c3d7aa7aaf34357f6 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 1 Mar 2021 05:26:39 -0800 Subject: use `-r:off` for runnableExamples that should compile but not run (#17203) * use -r:off for runnableExamples that should compile but not run * use -r:off in other RT disabled tests --- lib/pure/asynchttpserver.nim | 44 +++++++++++++++++++++----------------------- lib/pure/oids.nim | 4 ++-- lib/pure/sugar.nim | 4 ++-- 3 files changed, 25 insertions(+), 27 deletions(-) (limited to 'lib/pure') diff --git a/lib/pure/asynchttpserver.nim b/lib/pure/asynchttpserver.nim index f5baf1517..38be4ceac 100644 --- a/lib/pure/asynchttpserver.nim +++ b/lib/pure/asynchttpserver.nim @@ -14,32 +14,30 @@ ## application in production you should use a reverse proxy (for example nginx) ## instead of allowing users to connect directly to this server. -runnableExamples: +runnableExamples("-r:off"): # This example will create an HTTP server on port 8080. The server will # respond to all requests with a `200 OK` response code and "Hello World" - # as the response body. Run locally with: - # `nim doc --doccmd:-d:nimAsyncHttpServerEnableTest --lib:lib lib/pure/asynchttpserver.nim` + # as the response body. import std/asyncdispatch - if defined(nimAsyncHttpServerEnableTest): - proc main {.async.} = - const port = 8080 - var server = newAsyncHttpServer() - proc cb(req: Request) {.async.} = - echo (req.reqMethod, req.url, req.headers) - let headers = {"Content-type": "text/plain; charset=utf-8"} - await req.respond(Http200, "Hello World", headers.newHttpHeaders()) - - echo "test this with: curl localhost:" & $port & "/" - server.listen(Port(port)) - while true: - if server.shouldAcceptRequest(): - await server.acceptRequest(cb) - else: - # too many concurrent connections, `maxFDs` exceeded - # wait 500ms for FDs to be closed - await sleepAsync(500) - - waitFor main() + proc main {.async.} = + const port = 8080 + var server = newAsyncHttpServer() + proc cb(req: Request) {.async.} = + echo (req.reqMethod, req.url, req.headers) + let headers = {"Content-type": "text/plain; charset=utf-8"} + await req.respond(Http200, "Hello World", headers.newHttpHeaders()) + + echo "test this with: curl localhost:" & $port & "/" + server.listen(Port(port)) + while true: + if server.shouldAcceptRequest(): + await server.acceptRequest(cb) + else: + # too many concurrent connections, `maxFDs` exceeded + # wait 500ms for FDs to be closed + await sleepAsync(500) + + waitFor main() import asyncnet, asyncdispatch, parseutils, uri, strutils import httpcore diff --git a/lib/pure/oids.nim b/lib/pure/oids.nim index 967c4901b..fb70047b6 100644 --- a/lib/pure/oids.nim +++ b/lib/pure/oids.nim @@ -100,8 +100,8 @@ proc genOid*(): Oid = ## Generates a new OID. runnableExamples: doAssert ($genOid()).len == 24 - if false: doAssert $genOid() == "5fc7f546ddbbc84800006aaf" - + runnableExamples("-r:off"): + echo $genOid() # for example, "5fc7f546ddbbc84800006aaf" genOid(result, incr, fuzz) proc generatedTime*(oid: Oid): Time = diff --git a/lib/pure/sugar.nim b/lib/pure/sugar.nim index ccad5cd85..8d23696ac 100644 --- a/lib/pure/sugar.nim +++ b/lib/pure/sugar.nim @@ -168,11 +168,11 @@ macro dump*(x: untyped): untyped = ## See also: `dumpToString` which is more convenient and useful since ## it expands intermediate templates/macros, returns a string instead of ## calling `echo`, and works with statements and expressions. - runnableExamples: + runnableExamples("-r:off"): let x = 10 y = 20 - if false: dump(x + y) # if true would print `x + y = 30` + dump(x + y) # prints: `x + y = 30` let s = x.toStrLit result = quote do: -- cgit 1.4.1-2-gfad0