ct_master

(common_test)

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


abort() -> ok

Stops all running tests.

abort(Nodes) -> ok

  • Nodes = atom() | [atom()]

Stops tests on specified nodes.

basic_html(Bool) -> ok

  • 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.

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.

run(TestSpecs) -> ok

  • TestSpecs = string() | [SeparateOrMerged]

run(TestSpecs, InclNodes, ExclNodes) -> ok

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

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

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

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_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} | {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.