fix #17458 tnetconnect.nim flaky (#17459)

* fix tests

* fix #17458
This commit is contained in:
Timothee Cour
2021-03-23 00:37:15 -07:00
committed by GitHub
parent f3a6427109
commit 1d19cd660f

View File

@@ -1,22 +1,26 @@
discard """
cmd: "nim c -r -d:ssl $file"
exitcode: 0
matrix: "-d:ssl"
"""
import std/net
from std/strutils import `%`
# Issue 15215 - https://github.com/nim-lang/Nim/issues/15215
# bug #15215
proc test() =
var
ctx = newContext()
socket = newSocket()
let ctx = newContext()
wrapSocket(ctx, socket)
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)
connect(socket, "www.nim-lang.org", Port(443), 5000)
send(socket, "GET / HTTP/1.0\nHost: www.nim-lang.org\nConnection: close\n\n")
close(socket)
# trying 2 sites makes it more resilent: refs #17458 this could give:
# Error: unhandled exception: Call to 'connect' timed out. [TimeoutError]
try:
fn("www.nim-lang.org")
except TimeoutError:
fn("www.google.com")
test()