From 386df43ea4e0ffb8edf652ae65810957f953a9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 20 Nov 2018 11:28:46 +0100 Subject: Handle a test case sometimes sending a response too fast --- test/http_SUITE.erl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'test/http_SUITE.erl') diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 30b158d..2c481af 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -159,16 +159,18 @@ set_options_chunked_false(Config) -> Request = "GET /set_options/chunked_false HTTP/1.1\r\nhost: localhost\r\n\r\n", Client = raw_open([{type, tcp}, {port, Port}, {opts, []}|Config]), ok = raw_send(Client, Request), - _ = case catch raw_recv_head(Client) of + Rest = case catch raw_recv_head(Client) of {'EXIT', _} -> error(closed); Data -> %% Cowboy always advertises itself as HTTP/1.1. - {'HTTP/1.1', 200, _, Rest} = cow_http:parse_status_line(Data), - {Headers, <<>>} = cow_http:parse_headers(Rest), + {'HTTP/1.1', 200, _, Rest0} = cow_http:parse_status_line(Data), + {Headers, Rest1} = cow_http:parse_headers(Rest0), false = lists:keyfind(<<"content-length">>, 1, Headers), - false = lists:keyfind(<<"transfer-encoding">>, 1, Headers) + false = lists:keyfind(<<"transfer-encoding">>, 1, Headers), + Rest1 end, - raw_expect_recv(Client, <<0:8000000>>), + Bits = 8000000 - bit_size(Rest), + raw_expect_recv(Client, <<0:Bits>>), {error, closed} = raw_recv(Client, 1, 1000) after cowboy:stop_listener(?FUNCTION_NAME) -- cgit v1.2.3