diff options
Diffstat (limited to 'lib/mix')
| -rw-r--r-- | lib/mix/pleroma.ex | 3 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/database.ex | 2 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/test_runner.ex | 25 | 
3 files changed, 28 insertions, 2 deletions
| diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 2976085ba..c01cf054d 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -14,7 +14,8 @@ defmodule Mix.Pleroma do      :swoosh,      :timex,      :fast_html, -    :oban +    :oban, +    :logger_backends    ]    @cachex_children ["object", "user", "scrubber", "web_resp"]    @doc "Common functions to be reused in mix tasks" diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index 13ac6536c..b82d1f079 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -351,7 +351,7 @@ defmodule Mix.Tasks.Pleroma.Database do          )        end -      shell_info('Done.') +      shell_info(~c"Done.")      end    end diff --git a/lib/mix/tasks/pleroma/test_runner.ex b/lib/mix/tasks/pleroma/test_runner.ex new file mode 100644 index 000000000..69fefb001 --- /dev/null +++ b/lib/mix/tasks/pleroma/test_runner.ex @@ -0,0 +1,25 @@ +defmodule Mix.Tasks.Pleroma.TestRunner do +  @shortdoc "Retries tests once if they fail" + +  use Mix.Task + +  def run(args \\ []) do +    case System.cmd("mix", ["test"] ++ args, into: IO.stream(:stdio, :line)) do +      {_, 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 | 
