ct_master
Distributed test execution control for Common Test.
Distributed test execution control for Common Test.
This module exports functions for running Common Test nodes on multiple hosts in parallel.
Functions
run_test(Node, Opts) -> ok
Node = atom()
Opts = [OptTuples]
OptTuples = {config, CfgFiles} | {dir, TestDirs} | {suite, Suites} | {testcase, Cases} | {spec, TestSpecs} | {allow_user_terms, Bool} | {logdir, LogDir} | {event_handler, EventHandlers} | {silent_connections, Conns} | {cover, CoverSpecFile}
CfgFiles = string() | [string()]
TestDirs = string() | [string()]
Suites = atom() | [atom()]
Cases = atom() | [atom()]
TestSpecs = string() | [string()]
LogDir = string()
EventHandlers = EH | [EH]
EH = atom() | {atom(), InitArgs} | {[atom()], InitArgs}
InitArgs = [term()]
Conns = all | [atom()]
Tests are spawned on Node
using ct:run_test/1
.
run(TestSpecs, AllowUserTerms, InclNodes, ExclNodes) -> ok
TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
AllowUserTerms = bool()
InclNodes = [atom()]
ExclNodes = [atom()]
Tests are spawned on the nodes as specified in TestSpecs
.
Each specification in TestSpec will be handled separately. It is however possible
to also specify a list of specifications that should be merged into one before
the tests are executed. Any test without a particular node specification will
also be executed on the nodes in InclNodes
. Nodes in the
ExclNodes
list will be excluded from the test.
run(TestSpecs, InclNodes, ExclNodes) -> ok
TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
InclNodes = [atom()]
ExclNodes = [atom()]
Equivalent to run(TestSpecs, false, InclNodes, ExclNodes).
run(TestSpecs) -> ok
TestSpecs = string() | [SeparateOrMerged]
Equivalent to run(TestSpecs, false, [], []).
run_on_node(TestSpecs, AllowUserTerms, Node) -> ok
TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
AllowUserTerms = bool()
Node = atom()
Tests are spawned on Node
according to TestSpecs
.
run_on_node(TestSpecs, Node) -> ok
TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
Node = atom()
Equivalent to run_on_node(TestSpecs, false, Node).
abort() -> ok
Stops all running tests.
abort(Nodes) -> ok
Nodes = atom() | [atom()]
Stops tests on specified nodes.
progress() -> [{Node, Status}]
Node = atom()
Status = finished_ok | ongoing | aborted | {error, Reason}
Reason = term()
Returns test progress. If Status
is ongoing
,
tests are running on the node and have not yet finished.