Skip to content

Commit 9cfa855

Browse files
committed
Support explicit ExUnit.run
1 parent 3819911 commit 9cfa855

File tree

7 files changed

+13
-57
lines changed

7 files changed

+13
-57
lines changed

lib/ex_unit/lib/ex_unit.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ defmodule ExUnit do
350350
"""
351351
@spec run() :: suite_result()
352352
def run do
353+
_ = ExUnit.Server.modules_loaded()
353354
options = persist_defaults(configuration())
354355
ExUnit.Runner.run(options, nil)
355356
end

lib/ex_unit/lib/ex_unit/server.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ defmodule ExUnit.Server do
5858
{:reply, state.sync_modules, %{state | sync_modules: [], loaded: System.monotonic_time()}}
5959
end
6060

61+
def handle_call(:modules_loaded, _from, %{loaded: :done} = state) do
62+
{:reply, 0, state}
63+
end
64+
6165
def handle_call(:modules_loaded, _from, %{loaded: loaded} = state) when is_integer(loaded) do
6266
diff = System.convert_time_unit(System.monotonic_time() - loaded, :native, :microsecond)
6367
{:reply, diff, take_modules(%{state | loaded: :done})}

lib/ex_unit/test/ex_unit/callbacks_test.exs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ defmodule ExUnit.CallbacksTest do
3232
end
3333
end
3434

35-
ExUnit.Server.modules_loaded()
3635
assert capture_io(fn -> ExUnit.run() end) =~ "1 test, 0 failures"
3736
end
3837

@@ -63,7 +62,6 @@ defmodule ExUnit.CallbacksTest do
6362
defp store_5(context), do: store(context, 5)
6463
end
6564

66-
ExUnit.Server.modules_loaded()
6765
assert capture_io(fn -> ExUnit.run() end) =~ "1 test, 0 failures"
6866
end
6967

@@ -82,8 +80,6 @@ defmodule ExUnit.CallbacksTest do
8280
defp error, do: :error
8381
end
8482

85-
ExUnit.Server.modules_loaded()
86-
8783
assert capture_io(fn -> ExUnit.run() end) =~
8884
"** (MatchError) no match of right hand side value: :error"
8985
end
@@ -103,8 +99,6 @@ defmodule ExUnit.CallbacksTest do
10399
defp error, do: :error
104100
end
105101

106-
ExUnit.Server.modules_loaded()
107-
108102
assert capture_io(fn -> ExUnit.run() end) =~
109103
"** (MatchError) no match of right hand side value: :error"
110104
end
@@ -124,7 +118,6 @@ defmodule ExUnit.CallbacksTest do
124118
end
125119
end
126120

127-
ExUnit.Server.modules_loaded()
128121
assert capture_io(fn -> ExUnit.run() end) =~ "supervisor shutdown timed out after 500ms"
129122
end
130123

@@ -140,8 +133,6 @@ defmodule ExUnit.CallbacksTest do
140133
defp error, do: :error
141134
end
142135

143-
ExUnit.Server.modules_loaded()
144-
145136
assert capture_io(fn -> ExUnit.run() end) =~
146137
"** (MatchError) no match of right hand side value: :error"
147138
end
@@ -156,7 +147,6 @@ defmodule ExUnit.CallbacksTest do
156147
end
157148
end
158149

159-
ExUnit.Server.modules_loaded()
160150
assert capture_io(fn -> ExUnit.run() end) =~ ">) killed"
161151
end
162152

@@ -199,7 +189,6 @@ defmodule ExUnit.CallbacksTest do
199189
end
200190
end
201191

202-
ExUnit.Server.modules_loaded()
203192
output = capture_io(fn -> ExUnit.run() end)
204193
assert output =~ "on_exit run"
205194
assert output =~ "1 test, 0 failures"
@@ -251,7 +240,6 @@ defmodule ExUnit.CallbacksTest do
251240
end
252241

253242
no_formatters!()
254-
ExUnit.Server.modules_loaded()
255243
output = capture_io(fn -> ExUnit.run() end)
256244

257245
assert output =~ """
@@ -295,7 +283,6 @@ defmodule ExUnit.CallbacksTest do
295283
end
296284

297285
no_formatters!()
298-
ExUnit.Server.modules_loaded()
299286
output = capture_io(fn -> ExUnit.run() end)
300287

301288
assert output =~ """
@@ -318,8 +305,6 @@ defmodule ExUnit.CallbacksTest do
318305
end
319306
end
320307

321-
ExUnit.Server.modules_loaded()
322-
323308
assert capture_io(fn -> ExUnit.run() end) =~
324309
"** (RuntimeError) expected ExUnit callback in " <>
325310
"ExUnit.CallbacksTest.SetupErrorTest to return " <>
@@ -339,8 +324,6 @@ defmodule ExUnit.CallbacksTest do
339324
end
340325
end
341326

342-
ExUnit.Server.modules_loaded()
343-
344327
assert capture_io(fn -> ExUnit.run() end) =~
345328
"** (RuntimeError) ExUnit callback in " <>
346329
"ExUnit.CallbacksTest.SetupReservedTest is " <>

lib/ex_unit/test/ex_unit/doc_test_test.exs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,6 @@ defmodule ExUnit.DocTestTest do
477477
doctest ExUnit.DocTestTest.SomewhatGoodModuleWithOnly, only: [one: 0, two: 0], import: true
478478
end
479479

480-
ExUnit.Server.modules_loaded()
481480
assert capture_io(fn -> ExUnit.run() end) =~ "2 doctests, 1 failure"
482481
end
483482

@@ -487,7 +486,6 @@ defmodule ExUnit.DocTestTest do
487486
doctest ExUnit.DocTestTest.SomewhatGoodModuleWithOnly, only: [], import: true
488487
end
489488

490-
ExUnit.Server.modules_loaded()
491489
output = capture_io(fn -> ExUnit.run() end)
492490

493491
assert output =~ "0 failures"
@@ -500,7 +498,6 @@ defmodule ExUnit.DocTestTest do
500498
doctest ExUnit.DocTestTest.SomewhatGoodModuleWithOnly, tags: [skip: true], import: true
501499
end
502500

503-
ExUnit.Server.modules_loaded()
504501
output = capture_io(fn -> ExUnit.run() end)
505502

506503
assert output =~ "0 failures"
@@ -519,7 +516,6 @@ defmodule ExUnit.DocTestTest do
519516
doctest_line = __ENV__.line - 3
520517

521518
ExUnit.configure(seed: 0, colors: [enabled: false])
522-
ExUnit.Server.modules_loaded()
523519
output = capture_io(fn -> ExUnit.run() end)
524520

525521
assert output =~ """
@@ -716,7 +712,6 @@ defmodule ExUnit.DocTestTest do
716712
starting_line = ExUnit.DocTestTest.PatternMatching.starting_line() + 18
717713

718714
ExUnit.configure(seed: 0, colors: [enabled: false])
719-
ExUnit.Server.modules_loaded()
720715
output = capture_io(fn -> ExUnit.run() end)
721716

722717
assert output =~ """
@@ -818,7 +813,6 @@ defmodule ExUnit.DocTestTest do
818813
doctest ExUnit.DocTestTest.Numbered
819814
end
820815

821-
ExUnit.Server.modules_loaded()
822816
assert capture_io(fn -> ExUnit.run() end) =~ "1 doctest, 0 failures"
823817
end
824818

@@ -847,7 +841,6 @@ defmodule ExUnit.DocTestTest do
847841
end
848842
end
849843

850-
ExUnit.Server.modules_loaded()
851844
assert capture_io(fn -> ExUnit.run() end) =~ "2 doctests, 0 failures"
852845
end
853846

lib/ex_unit/test/ex_unit/register_test.exs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ defmodule ExUnit.RegisterTest do
2828
defp succeed, do: true
2929
end
3030

31-
ExUnit.Server.modules_loaded()
32-
3331
assert capture_io(fn ->
3432
assert ExUnit.run() == %{failures: 0, skipped: 0, total: 2, excluded: 0}
3533
end) =~ "1 property, 1 test, 0 failures"
@@ -68,8 +66,6 @@ defmodule ExUnit.RegisterTest do
6866
defp succeed, do: true
6967
end
7068

71-
ExUnit.Server.modules_loaded()
72-
7369
assert capture_io(fn ->
7470
assert ExUnit.run() == %{failures: 0, skipped: 0, total: 4, excluded: 0}
7571
end) =~ "2 properties, 2 tests, 0 failures"

0 commit comments

Comments
 (0)