Files
Nim/tests/stdlib/tnetconnect.nim
Anna b5a008bac8 Allow some tests to run without network (#20955)
* thttpclient.nim: respect NIM_TESTAMENT_REMOTE_NETWORKING

* tnetconnect.nim: respect NIM_TESTAMENT_REMOTE_NETWORKING
2022-11-29 06:40:28 +01:00

31 lines
748 B
Nim

discard """
disabled: "i386"
matrix: "-d:ssl"
"""
import std/net
from std/strutils import `%`
from stdtest/testutils import enableRemoteNetworking
# bug #15215
proc test() =
let ctx = newContext()
proc fn(url: string) =
let socket = newSocket()
defer: close(socket)
connect(socket, url, Port(443), 5000) # typically 20 could be enough
send(socket, "GET / HTTP/1.0\nHost: $#\nConnection: close\n\n" % [url])
wrapSocket(ctx, socket)
# trying 2 sites makes it more resilent: refs #17458 this could give:
# * Call to 'connect' timed out. [TimeoutError]
# * No route to host [OSError]
try:
fn("www.nim-lang.org")
except TimeoutError, OSError:
fn("www.google.com")
when enableRemoteNetworking:
test()