diff options
-rw-r--r-- | test/http2_SUITE.erl | 15 | ||||
-rw-r--r-- | test/http_SUITE.erl | 21 |
2 files changed, 23 insertions, 13 deletions
diff --git a/test/http2_SUITE.erl b/test/http2_SUITE.erl index b71b2c9..ba95173 100644 --- a/test/http2_SUITE.erl +++ b/test/http2_SUITE.erl @@ -18,6 +18,7 @@ -import(ct_helper, [config/2]). -import(ct_helper, [doc/1]). +-import(ct_helper, [get_remote_pid_tcp/1]). -import(ct_helper, [name/0]). -import(cowboy_test, [gun_open/1]). @@ -131,10 +132,11 @@ preface_timeout_infinity(Config) -> env => #{dispatch => cowboy_router:compile(init_routes(Config))}, preface_timeout => infinity }, - {ok, Pid} = cowboy:start_clear(name(), [{port, 0}], ProtoOpts), - Ref = erlang:monitor(process, Pid), + {ok, _} = cowboy:start_clear(name(), [{port, 0}], ProtoOpts), Port = ranch:get_port(name()), - {ok, _} = do_handshake([{port, Port}|Config]), + {ok, Socket} = do_handshake([{port, Port}|Config]), + Pid = get_remote_pid_tcp(Socket), + Ref = erlang:monitor(process, Pid), receive {'DOWN', Ref, process, Pid, Reason} -> error(Reason) @@ -166,10 +168,11 @@ settings_timeout_infinity(Config) -> env => #{dispatch => cowboy_router:compile(init_routes(Config))}, settings_timeout => infinity }, - {ok, Pid} = cowboy:start_clear(name(), [{port, 0}], ProtoOpts), - Ref = erlang:monitor(process, Pid), + {ok, _} = cowboy:start_clear(name(), [{port, 0}], ProtoOpts), Port = ranch:get_port(name()), - {ok, _} = do_handshake([{port, Port}|Config]), + {ok, Socket} = do_handshake([{port, Port}|Config]), + Pid = get_remote_pid_tcp(Socket), + Ref = erlang:monitor(process, Pid), receive {'DOWN', Ref, process, Pid, Reason} -> error(Reason) diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index dbcfd2b..f4cf91c 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -18,6 +18,7 @@ -import(ct_helper, [config/2]). -import(ct_helper, [doc/1]). +-import(ct_helper, [get_remote_pid_tcp/1]). -import(ct_helper, [name/0]). -import(cowboy_test, [gun_open/1]). @@ -34,16 +35,19 @@ init_routes(_) -> [ idle_timeout_infinity(Config) -> doc("Ensure the idle_timeout option accepts the infinity value."), - {ok, ListenerPid} = cowboy:start_clear(name(), [{port, 0}], #{ + {ok, _} = cowboy:start_clear(name(), [{port, 0}], #{ env => #{dispatch => cowboy_router:compile(init_routes(Config))}, request_timeout => infinity }), Port = ranch:get_port(name()), - Ref = erlang:monitor(process, ListenerPid), ConnPid = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), _ = gun:post(ConnPid, "/echo/read_body", [], <<"TEST">>), + %% @todo Gun should have a debug function to retrieve the socket. + Socket = element(9, element(2, sys:get_state(ConnPid))), + Pid = get_remote_pid_tcp(Socket), + Ref = erlang:monitor(process, Pid), receive - {'DOWN', Ref, process, ListenerPid, Reason} -> + {'DOWN', Ref, process, Pid, Reason} -> error(Reason) after 1000 -> ok @@ -51,15 +55,18 @@ idle_timeout_infinity(Config) -> request_timeout_infinity(Config) -> doc("Ensure the request_timeout option accepts the infinity value."), - {ok, ListenerPid} = cowboy:start_clear(name(), [{port, 0}], #{ + {ok, _} = cowboy:start_clear(name(), [{port, 0}], #{ env => #{dispatch => cowboy_router:compile(init_routes(Config))}, idle_timeout => infinity }), Port = ranch:get_port(name()), - Ref = erlang:monitor(process, ListenerPid), - _ = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), + ConnPid = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), + %% @todo Gun should have a debug function to retrieve the socket. + Socket = element(9, element(2, sys:get_state(ConnPid))), + Pid = get_remote_pid_tcp(Socket), + Ref = erlang:monitor(process, Pid), receive - {'DOWN', Ref, process, ListenerPid, Reason} -> + {'DOWN', Ref, process, Pid, Reason} -> error(Reason) after 1000 -> ok |