Skip to content

Commit fae36c5

Browse files
committed
Queue async groups until state is loaded
1 parent 712f24a commit fae36c5

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

lib/ex_unit/lib/ex_unit/server.ex

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,13 @@ defmodule ExUnit.Server do
173173
end
174174

175175
defp take_modules(%{waiting: {from, count}} = state) do
176-
has_async_modules? = not :queue.is_empty(state.async_modules)
177-
has_async_groups? = state.async_groups != []
178-
179176
cond do
180-
not has_async_modules? and not has_async_groups? and state.loaded == :done ->
181-
GenServer.reply(from, nil)
182-
%{state | waiting: nil}
183-
184-
has_async_modules? ->
177+
not :queue.is_empty(state.async_modules) ->
185178
{reply, remaining_modules} = take_until(count, state.async_modules)
186179
GenServer.reply(from, reply)
187180
%{state | async_modules: remaining_modules, waiting: nil}
188181

189-
has_async_groups? ->
182+
state.async_groups != [] and state.loaded == :done ->
190183
{groups, remaining_groups} = Enum.split(state.async_groups, count)
191184

192185
{reply, groups} =
@@ -198,6 +191,10 @@ defmodule ExUnit.Server do
198191
GenServer.reply(from, reply)
199192
%{state | groups: groups, async_groups: remaining_groups, waiting: nil}
200193

194+
state.loaded == :done ->
195+
GenServer.reply(from, nil)
196+
%{state | waiting: nil}
197+
201198
true ->
202199
state
203200
end

0 commit comments

Comments
 (0)