2024-09-16 11:39:19 -04:00
|
|
|
defmodule Mix.Tasks.Pleroma.TestRunner do
|
|
|
|
|
@shortdoc "Retries tests once if they fail"
|
|
|
|
|
|
|
|
|
|
use Mix.Task
|
|
|
|
|
|
|
|
|
|
def run(args \\ []) do
|
2025-06-04 12:03:54 +03:00
|
|
|
case System.cmd("mix", ["test", "--warnings-as-errors"] ++ args,
|
|
|
|
|
into: IO.stream(:stdio, :line)
|
|
|
|
|
) do
|
2024-09-16 11:39:19 -04:00
|
|
|
{_, 0} ->
|
|
|
|
|
:ok
|
|
|
|
|
|
|
|
|
|
_ ->
|
|
|
|
|
retry(args)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def retry(args) do
|
|
|
|
|
case System.cmd("mix", ["test", "--failed"] ++ args, into: IO.stream(:stdio, :line)) do
|
|
|
|
|
{_, 0} ->
|
|
|
|
|
:ok
|
|
|
|
|
|
|
|
|
|
_ ->
|
|
|
|
|
exit(1)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|