Erlang logo
User's Guide
Reference Manual
Release Notes
PDF
Top

Common Test
Reference Manual
Version 1.11


Expand All
Contract All

Table of Contents

ct_master

MODULE

ct_master

MODULE SUMMARY

Distributed test execution control for Common Test.

DESCRIPTION

Distributed test execution control for Common Test.

This module exports functions for running Common Test nodes on multiple hosts in parallel.

EXPORTS

abort() -> ok

Stops all running tests.

abort(Nodes) -> ok

Types:

Nodes = atom() | [atom()]

Stops tests on specified nodes.

basic_html(Bool) -> ok

Types:

Bool = true | false

If set to true, the ct_master logs will be written on a primitive html format, not using the Common Test CSS style sheet.

get_event_mgr_ref() -> MasterEvMgrRef

Types:

MasterEvMgrRef = atom()

Call this function in order to get a reference to the CT master event manager. The reference can be used to e.g. add a user specific event handler while tests are running. Example: gen_event:add_handler(ct_master:get_event_mgr_ref(), my_ev_h, [])

progress() -> [{Node, Status}]

Types:

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.

run(TestSpecs) -> ok

Types:

TestSpecs = string() | [SeparateOrMerged]

run(TestSpecs, InclNodes, ExclNodes) -> ok

Types:

TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
InclNodes = [atom()]
ExclNodes = [atom()]

run(TestSpecs, AllowUserTerms, InclNodes, ExclNodes) -> ok

Types:

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_on_node(TestSpecs, Node) -> ok

Types:

TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
Node = atom()

run_on_node(TestSpecs, AllowUserTerms, Node) -> ok

Types:

TestSpecs = string() | [SeparateOrMerged]
SeparateOrMerged = string() | [string()]
AllowUserTerms = bool()
Node = atom()

Tests are spawned on Node according to TestSpecs.

run_test(Node, Opts) -> ok

Types:

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} | {cover_stop, Bool} | {userconfig, UserCfgFiles}
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.