Packages
ejabberd
20.3.0
26.4.0
26.3.0
26.2.0
26.1.0
25.10.0
25.8.0
25.7.0
25.4.0
25.3.0
24.12.0
24.10.0
24.7.0
24.6.0
24.2.6
23.10.0
23.4.0
23.1.0
22.10.0
22.5.0
21.12.0
21.7.0
21.4.0
21.1.0
20.12.0
20.7.0
20.4.0
20.3.0
20.2.0
20.1.0
19.9.1
19.9.0
19.8.0
19.5.0
19.2.0
18.12.1
18.12.0
18.6.0
18.4.0
18.3.0
18.1.0
17.11.0
17.9.0
17.6.0
17.3.0
17.1.0
16.12.0-beta1
16.9.0
16.8.0
16.6.2
16.6.1
16.6.0
16.4.1
16.4.0
16.3.0
16.2.0
16.1.0-beta1
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/ct.ex
defmodule Mix.Tasks.Ct do
use Mix.Task
@shortdoc "Run ejabberd Common Test suite"
def run(_args) do
Mix.env :test
# TODO: Support passing compile options through ct task
Mix.Task.run "compile"
# This is run independently, so that the test modules don't end up in the
# .app file
# ebin_dir = Path.join([Mix.Project.app_path, "test"])
# MixErlangTasks.Util.compile_files(Path.wildcard("test/**/*_SUITE.erl"), ebin_dir)
logdir = "logs"
File.mkdir_p!(logdir)
:ok = System.put_env("CT_BACKEND", "mnesia,no_db")
IO.inspect(:code.get_path())
# depdir = Mix.Project.deps_paths()
depdir = "_build/test/lib/"
{:ok, dirs} = File.ls(depdir)
# dirs |> Enum.each(fn(dir) -> Code.append_path(depdir <> dir <> "/ebin") end)
includes = dirs |> Enum.map(fn(dir) -> String.to_charlist(depdir <> dir <> "/include") end)
:ct.run_test([
{:dir, ['test']},
{:logdir, String.to_charlist(logdir)},
{:auto_compile, false},
{:include, includes ++ ['include']},
{:suite, ['ejabberd_SUITE']},
{:ct_hooks, :cth_surefire},
{:cover, 'cover.spec'}
])
end
end