From 789768e8d38812abbf3943cbea46a592f79a2972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 2 Apr 2020 14:01:26 +0200 Subject: Rework the req_SUITE:read_body_period test To avoid intermittent test failures. We only want to make sure the function eventually returns so we don't need to use timeouts in the test itself, or check exactly what was read. --- test/req_SUITE.erl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'test/req_SUITE.erl') diff --git a/test/req_SUITE.erl b/test/req_SUITE.erl index b7ffbc9..d12a3bb 100644 --- a/test/req_SUITE.erl +++ b/test/req_SUITE.erl @@ -496,12 +496,14 @@ read_body_period(Config) -> Ref = gun:headers(ConnPid, "POST", "/opts/read_body/period", [ {<<"content-length">>, integer_to_binary(byte_size(Body) * 2)} ]), - %% The body is sent twice, first with nofin, then wait 3 seconds, then again with fin. + %% The body is sent without fin. The server will read what it can + %% for 2 seconds. The test succeeds if we get some of the data back + %% (meaning the function will have returned after the period ends). gun:data(ConnPid, Ref, nofin, Body), - timer:sleep(3000), - gun:data(ConnPid, Ref, fin, Body), {response, nofin, 200, _} = gun:await(ConnPid, Ref), - {ok, Body} = gun:await_body(ConnPid, Ref), + {data, _, Data} = gun:await(ConnPid, Ref), + %% We expect to read at least some data. + true = Data =/= <<>>, gun:close(ConnPid). %% We expect a crash. -- cgit v1.2.3