Skip to content

Commit 5348f7f

Browse files
committed
FIXUP
1 parent 53dffc9 commit 5348f7f

5 files changed

Lines changed: 38 additions & 25 deletions

File tree

lib/ex_unit/lib/ex_unit/cli_formatter.ex

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -372,11 +372,19 @@ defmodule ExUnit.CLIFormatter do
372372
passed_total =
373373
test_type_counts - config.failure_counter - config.skipped_counter - config.invalid_counter
374374

375-
# Passed line: "Passed: 447/455 (53/54 doctests, 393/403 tests)"
376-
passed_breakdown = format_passed_breakdown(test_counter, config.failure_type_counter)
375+
# Passed line: "Passed: 447/455 (53/54 doctests, 393/403 tests)" or
376+
# "Passed: 455 (70 tests, 14 properties)" when all pass
377+
all_passed? = passed_total == test_type_counts
378+
379+
passed_breakdown =
380+
format_passed_breakdown(test_counter, config.failure_type_counter, all_passed?)
377381

378382
passed_line =
379-
"Passed: #{passed_total}/#{test_type_counts}"
383+
if all_passed? do
384+
"Passed: #{passed_total}"
385+
else
386+
"Passed: #{passed_total}/#{test_type_counts}"
387+
end
380388
|> if_true(passed_breakdown != "", &(&1 <> " (#{passed_breakdown})"))
381389

382390
# Failed line: "Failed: 8 tests, 1 property"
@@ -389,7 +397,7 @@ defmodule ExUnit.CLIFormatter do
389397
end
390398

391399
message =
392-
passed_line
400+
("\n" <> passed_line)
393401
|> if_true(
394402
config.invalid_counter > 0,
395403
&(&1 <> ", #{config.invalid_counter} invalid")
@@ -446,7 +454,7 @@ defmodule ExUnit.CLIFormatter do
446454
|> Enum.join(", ")
447455
end
448456

449-
defp format_passed_breakdown(test_counter, failure_type_counter) do
457+
defp format_passed_breakdown(test_counter, failure_type_counter, all_passed?) do
450458
# If there are no different test types, we just print "Passed: N/N"
451459
# without the type.
452460
if map_size(test_counter) in 0..1 do
@@ -457,9 +465,14 @@ defmodule ExUnit.CLIFormatter do
457465
|> Enum.sort()
458466
|> Enum.map_join(", ", fn type ->
459467
total = Map.fetch!(test_counter, type)
460-
failed = Map.get(failure_type_counter, type, 0)
461-
passed = total - failed
462-
"#{passed}/#{total} #{pluralize_type(total, type)}"
468+
469+
if all_passed? do
470+
"#{total} #{pluralize_type(total, type)}"
471+
else
472+
failed = Map.get(failure_type_counter, type, 0)
473+
passed = total - failed
474+
"#{passed}/#{total} #{pluralize_type(total, type)}"
475+
end
463476
end)
464477
end
465478
end

lib/ex_unit/test/ex_unit/callbacks_test.exs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ defmodule ExUnit.CallbacksTest do
3636
end
3737
end
3838

39-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1/1"
39+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1"
4040
end
4141

4242
test "named callbacks run custom code in order" do
@@ -66,7 +66,7 @@ defmodule ExUnit.CallbacksTest do
6666
defp store_5(context), do: store(context, 5)
6767
end
6868

69-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1/1"
69+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1"
7070
end
7171

7272
test "named callbacks support {module, function} tuples" do
@@ -87,7 +87,7 @@ defmodule ExUnit.CallbacksTest do
8787
def setup_3(_), do: [setup_3: true]
8888
end
8989

90-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1/1"
90+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1"
9191
end
9292

9393
test "doesn't choke on setup errors" do
@@ -253,7 +253,7 @@ defmodule ExUnit.CallbacksTest do
253253

254254
output = capture_io(fn -> ExUnit.run() end)
255255
assert output =~ "on_exit run"
256-
assert output =~ "Passed: 1/1"
256+
assert output =~ "Passed: 1"
257257
end
258258

259259
test "runs multiple on_exit exits and overrides by ref" do

lib/ex_unit/test/ex_unit/doc_test_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,7 +1084,7 @@ defmodule ExUnit.DocTestTest do
10841084
doctest ExUnit.DocTestTest.Numbered
10851085
end
10861086

1087-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1/1"
1087+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 1"
10881088
end
10891089

10901090
test "IEx prompt contains host" do
@@ -1253,7 +1253,7 @@ defmodule ExUnit.DocTestTest do
12531253
end
12541254

12551255
output = capture_io(fn -> ExUnit.run() end)
1256-
assert output =~ "Passed: 2/2"
1256+
assert output =~ "Passed: 2"
12571257
end
12581258

12591259
test "failing" do

lib/ex_unit/test/ex_unit/register_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ defmodule ExUnit.RegisterTest do
4242

4343
assert capture_io(fn ->
4444
assert ExUnit.run() == %{failures: 0, skipped: 0, total: 2, excluded: 0}
45-
end) =~ "Passed: 2/2 (1/1 property, 1/1 test)"
45+
end) =~ "Passed: 2 (1 property, 1 test)"
4646
end
4747

4848
test "plural test types" do
@@ -96,6 +96,6 @@ defmodule ExUnit.RegisterTest do
9696

9797
assert capture_io(fn ->
9898
assert ExUnit.run() == %{failures: 0, skipped: 0, total: 4, excluded: 0}
99-
end) =~ "Passed: 4/4 (2/2 properties, 2/2 tests)"
99+
end) =~ "Passed: 4 (2 properties, 2 tests)"
100100
end
101101
end

lib/ex_unit/test/ex_unit_test.exs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ defmodule ExUnitTest do
3333
assert capture_io(fn ->
3434
assert ExUnit.async_run() |> ExUnit.await_run() ==
3535
%{failures: 0, skipped: 0, total: 0, excluded: 0}
36-
end) =~ "\nPassed: 0/0\n"
36+
end) =~ "\nPassed: 0\n"
3737
end
3838

3939
test "supports rerunning given modules" do
@@ -139,7 +139,7 @@ defmodule ExUnitTest do
139139
assert result =~ ~r"\* test true \[.*test/ex_unit_test.exs:#{line}\]"
140140

141141
assert result =~ "Showing results so far..."
142-
assert result =~ "Passed: 0/0"
142+
assert result =~ "Passed: 0"
143143
end
144144

145145
test "doesn't hang on exits" do
@@ -332,11 +332,11 @@ defmodule ExUnitTest do
332332

333333
{result, output} = run_with_filter([exclude: [even: true]], [ParityTest])
334334
assert result == %{failures: 0, skipped: 0, excluded: 1, total: 4}
335-
assert output =~ "Passed: 3/3"
335+
assert output =~ "Passed: 3"
336336

337337
{result, output} = run_with_filter([exclude: :even], [ParityTest])
338338
assert result == %{failures: 0, skipped: 0, excluded: 3, total: 4}
339-
assert output =~ "Passed: 1/1"
339+
assert output =~ "Passed: 1"
340340

341341
{result, output} = run_with_filter([exclude: :even, include: [even: true]], [ParityTest])
342342
assert result == %{failures: 1, skipped: 0, excluded: 2, total: 4}
@@ -511,7 +511,7 @@ defmodule ExUnitTest do
511511
{result, output} = run_with_filter([exclude: :module], [])
512512

513513
assert result == %{failures: 0, skipped: 0, excluded: 2, total: 2}
514-
assert output =~ "Passed: 0/0"
514+
assert output =~ "Passed: 0"
515515

516516
{result, output} =
517517
[exclude: :test, include: [module: "ExUnitTest.SecondTestModule"]]
@@ -644,7 +644,7 @@ defmodule ExUnitTest do
644644

645645
assert capture_io(fn ->
646646
assert ExUnit.run() == %{failures: 0, skipped: 0, total: 3, excluded: 0}
647-
end) =~ "Passed: 3/3"
647+
end) =~ "Passed: 3"
648648
end
649649

650650
# Skipped and excluded tests should be included in the stats
@@ -727,7 +727,7 @@ defmodule ExUnitTest do
727727
end
728728

729729
configure_and_reload_on_exit(trace: true)
730-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 0/0"
730+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 0"
731731

732732
defmodule EmptyGroupedParameterizedTests do
733733
use ExUnit.Case, async: true, parameterize: [], group: :example
@@ -738,7 +738,7 @@ defmodule ExUnitTest do
738738
end
739739

740740
configure_and_reload_on_exit(trace: true)
741-
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 0/0"
741+
assert capture_io(fn -> ExUnit.run() end) =~ "Passed: 0"
742742
end
743743

744744
describe "after_suite/1" do
@@ -1103,7 +1103,7 @@ defmodule ExUnitTest do
11031103
end)
11041104

11051105
assert output =~ "All tests have been excluded.\n"
1106-
assert output =~ "Passed: 0/0"
1106+
assert output =~ "Passed: 0"
11071107
end
11081108

11091109
test "tests are run in compile order (FIFO)" do

0 commit comments

Comments
 (0)