From e0e8e33a0ac2665a73d2e102636ff5576f254419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Wed, 19 Dec 2018 09:55:08 +0100 Subject: [PATCH] fixup! Contain fibers and open ports in HTTP::Client and HTTP::WebSocket specs --- spec/std/http/client/client_spec.cr | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/spec/std/http/client/client_spec.cr b/spec/std/http/client/client_spec.cr index 7f68e3b0ffa8..69209fe6d28f 100644 --- a/spec/std/http/client/client_spec.cr +++ b/spec/std/http/client/client_spec.cr @@ -5,7 +5,7 @@ require "http/server" private def test_server(host, port, read_time = 0) server = TCPServer.new(host, port) - server_done = Channel(Nil).new + server_done = Channel(Exception?).new spawn do io = server.accept @@ -17,7 +17,9 @@ private def test_server(host, port, read_time = 0) ensure io.close end - ensure + rescue exc + server_done.send exc + else server_done.send nil end @@ -26,7 +28,9 @@ private def test_server(host, port, read_time = 0) ensure server.close - server_done.receive + if exc = server_done.receive + raise exc + end end end