summaryrefslogtreecommitdiff
path: root/test/support/cluster.ex
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2024-05-27 17:49:31 +0400
committerLain Soykaf <lain@lain.com>2024-05-27 17:49:31 +0400
commit4325b1aec34734d8efbc7701d6bfdcf157e7cb0d (patch)
tree7995ee0c521da831709f1198ca7154fad0885306 /test/support/cluster.ex
parent3a03d9b65f96099e7c7a831469532c2cec7294c6 (diff)
parent6757382abec9ca47a9025b8bed61047414cee20f (diff)
downloadpleroma-4325b1aec34734d8efbc7701d6bfdcf157e7cb0d.tar.gz
pleroma-4325b1aec34734d8efbc7701d6bfdcf157e7cb0d.zip
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into nsfw-api-mrf
Diffstat (limited to 'test/support/cluster.ex')
-rw-r--r--test/support/cluster.ex19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/support/cluster.ex b/test/support/cluster.ex
index 524194cf4..a0ec91168 100644
--- a/test/support/cluster.ex
+++ b/test/support/cluster.ex
@@ -1,3 +1,7 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Cluster do
@moduledoc """
Facilities for managing a cluster of slave VM's for federated testing.
@@ -123,7 +127,10 @@ defmodule Pleroma.Cluster do
defp start_slave({node_host, override_configs}) do
log(node_host, "booting federated VM")
- {:ok, node} = :slave.start(~c"127.0.0.1", node_name(node_host), vm_args())
+
+ {:ok, node} =
+ do_start_slave(%{host: "127.0.0.1", name: node_name(node_host), args: vm_args()})
+
add_code_paths(node)
load_apps_and_transfer_configuration(node, override_configs)
ensure_apps_started(node)
@@ -215,4 +222,14 @@ defmodule Pleroma.Cluster do
|> Enum.at(0)
|> String.to_atom()
end
+
+ defp do_start_slave(%{host: host, name: name, args: args} = opts) do
+ peer_module = Application.get_env(__MODULE__, :peer_module)
+
+ if peer_module == :peer do
+ peer_module.start(opts)
+ else
+ peer_module.start(host, name, args)
+ end
+ end
end