Skip to content

Commit 32ead2c

Browse files
committed
Merge pull request #1810 from pguyot/w34/flappy-timeout
Add timeouts to debug flappiness and reduce CI time These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
2 parents d3683c1 + 3fe544a commit 32ead2c

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

tests/libs/estdlib/test_gen_tcp.erl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ test_listen_connect_parameters(
195195
receive
196196
{ServerPid, ready} ->
197197
ok
198+
after 10000 ->
199+
error({timeout, ?MODULE, ?LINE})
198200
end,
199201

200202
{ok, Socket} = gen_tcp:connect(

tests/libs/estdlib/test_gen_udp.erl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,25 +74,36 @@ test_send_receive(SpawnControllingProcess, IsActive, Mode, BackendOption) ->
7474
gen_udp:controlling_process(Socket, Pid),
7575
receive
7676
ready -> ok
77+
after 10000 ->
78+
error({timeout, ?MODULE, ?LINE})
7779
end;
7880
false ->
7981
ok
8082
end,
8183

8284
NumToSend = 10,
83-
Sender = erlang:spawn(?MODULE, start_sender, [Socket, Port, make_messages(NumToSend)]),
85+
{Sender, SenderMonitor} = erlang:spawn_opt(
86+
?MODULE, start_sender, [Socket, Port, make_messages(NumToSend)], [monitor]
87+
),
8488

8589
NumReceived =
8690
case SpawnControllingProcess of
8791
true ->
8892
receive
8993
{done, Received} ->
9094
Received
95+
after 10000 ->
96+
error({timeout, ?MODULE, ?LINE})
9197
end;
9298
false ->
9399
F()
94100
end,
95101
Sender ! stop,
102+
receive
103+
{'DOWN', SenderMonitor, process, Sender, normal} -> ok
104+
after 10000 ->
105+
error({timeout, ?MODULE, ?LINE})
106+
end,
96107

97108
?ASSERT_TRUE((0 < NumReceived) and (NumReceived =< NumToSend)),
98109
%% NB. Might be closed if controlling process terminates

0 commit comments

Comments
 (0)