summaryrefslogtreecommitdiff
path: root/test/test_helper.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_helper.exs')
-rw-r--r--test/test_helper.exs26
1 files changed, 24 insertions, 2 deletions
diff --git a/test/test_helper.exs b/test/test_helper.exs
index 60a61484f..a117584ae 100644
--- a/test/test_helper.exs
+++ b/test/test_helper.exs
@@ -2,8 +2,17 @@
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
-os_exclude = if :os.type() == {:unix, :darwin}, do: [skip_on_mac: true], else: []
-ExUnit.start(exclude: [:federated, :erratic] ++ os_exclude)
+Code.put_compiler_option(:warnings_as_errors, true)
+
+ExUnit.configure(max_cases: System.schedulers_online())
+
+ExUnit.start(exclude: [:federated, :erratic])
+
+if match?({:unix, :darwin}, :os.type()) do
+ excluded = ExUnit.configuration() |> Keyword.get(:exclude, [])
+ excluded = excluded ++ [:skip_darwin]
+ ExUnit.configure(exclude: excluded)
+end
Ecto.Adapters.SQL.Sandbox.mode(Pleroma.Repo, :manual)
@@ -16,3 +25,16 @@ ExUnit.after_suite(fn _results ->
uploads = Pleroma.Config.get([Pleroma.Uploaders.Local, :uploads], "test/uploads")
File.rm_rf!(uploads)
end)
+
+defmodule Pleroma.Test.StaticConfig do
+ @moduledoc """
+ This module provides a Config that is completely static, built at startup time from the environment. It's safe to use in testing as it will not modify any state.
+ """
+
+ @behaviour Pleroma.Config.Getting
+ @config Application.get_all_env(:pleroma)
+
+ def get(path, default \\ nil) do
+ get_in(@config, path) || default
+ end
+end