Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ct_slave (3erl)

Name

ct_slave - Common Test framework functions for starting and stopping nodes for Large-Scale Testing.

Synopsis

Please see following description for synopsis

Description

ct_slave(3)                Erlang Module Definition                ct_slave(3)



NAME
       ct_slave - Common Test framework functions for starting and stopping
           nodes for Large-Scale Testing.

DESCRIPTION
       Common  Test  framework  functions  for starting and stopping nodes for
       Large-Scale Testing.

       This module exports functions used by the Common Test Master  to  start
       and  stop  "slave"  nodes.  It  is  the default callback module for the
       {init, node_start} term in the Test Specification.

EXPORTS
       start(Node) -> Result

              Types:

                 Node = atom()
                 Result = {ok, NodeName} | {error, Reason, NodeName}
                 Reason = already_started | started_not_connected | boot_time-
                 out | init_timeout | startup_timeout | not_alive
                 NodeName = atom()

              Starts an Erlang node with name Node on the local host.

              See also ct_slave:start/3.

       start(HostOrNode, NodeOrOpts) -> Result

              Types:

                 HostOrNode = atom()
                 NodeOrOpts = atom() | list()
                 Result = {ok, NodeName} | {error, Reason, NodeName}
                 Reason = already_started | started_not_connected | boot_time-
                 out | init_timeout | startup_timeout | not_alive
                 NodeName = atom()

              Starts an Erlang node with default options on a specified  host,
              or  on  the local host with specified options. That is, the call
              is interpreted as start(Host, Node) when the second argument  is
              atom-valued and start(Node, Opts) when it is list-valued.

              See also ct_slave:start/3.

       start(Host, Node, Opts) -> Result

              Types:

                 Node = atom()
                 Host = atom()
                 Opts = [OptTuples]
                 OptTuples  =  {username,  Username}  | {password, Password} |
                 {boot_timeout, BootTimeout} | {init_timeout,  InitTimeout}  |
                 {startup_timeout, StartupTimeout} | {startup_functions, Star-
                 tupFunctions} | {monitor_master,  Monitor}  |  {kill_if_fail,
                 KillIfFail}  |  {erl_flags,  ErlangFlags}  |  {env, [{EnvVar,
                 Value}]}
                 Username = string()
                 Password = string()
                 BootTimeout = integer()
                 InitTimeout = integer()
                 StartupTimeout = integer()
                 StartupFunctions = [StartupFunctionSpec]
                 StartupFunctionSpec = {Module, Function, Arguments}
                 Module = atom()
                 Function = atom()
                 Arguments = [term]
                 Monitor = bool()
                 KillIfFail = bool()
                 ErlangFlags = string()
                 EnvVar = string()
                 Value = string()
                 Result = {ok, NodeName} | {error, Reason, NodeName}
                 Reason = already_started | started_not_connected | boot_time-
                 out | init_timeout | startup_timeout | not_alive
                 NodeName = atom()

              Starts  an  Erlang node with name Node on host Host as specified
              by the combination of options in Opts.

              Options Username and Password are used to log on to  the  remote
              host  Host.  Username, if omitted, defaults to the current user-
              name. Password is empty by default.

              A list of functions specified in  option  Startup  are  executed
              after  startup  of the node. Notice that all used modules are to
              be present in the code path on Host.

              The time-outs are applied as follows:

                BootTimeout:
                  The time to start the Erlang node, in seconds. Defaults to 3
                  seconds.  If  the node is not pingable within this time, the
                  result {error, boot_timeout, NodeName} is returned.

                InitTimeout:
                  The time to wait for the node until it  calls  the  internal
                  callback   function  informing  master  about  a  successful
                  startup. Defaults to 1 second. In case of a timed  out  mes-
                  sage,   the   result   {error,  init_timeout,  NodeName}  is
                  returned.

                StartupTimeout:
                  The time to wait until the node stops  to  run  StartupFunc-
                  tions.  Defaults  to  1 second. If this time-out occurs, the
                  result {error, startup_timeout, NodeName} is returned.

              Options:

                monitor_master:
                  Specifies if the slave node is to be stopped if  the  master
                  node stops. Defaults to false.

                kill_if_fail:
                  Specifies  if  the  slave node is to be killed if a time-out
                  occurs during initialization or startup. Defaults  to  true.
                  Notice  that  the  node  can also be still alive it the boot
                  time-out occurred, but it is not killed in this case.

                erl_flags:
                  Specifies which flags are added to  the  parameters  of  the
                  executable erl.

                env:
                  Specifies  a  list of environment variables that will extend
                  the environment.

              Special return values:

                * {error, already_started, NodeName}  if  the  node  with  the
                  specified name is already started on a specified host.

                * {error,  started_not_connected,  NodeName}  if  the  node is
                  started, but not connected to the master node.

                * {error,  not_alive,  NodeName}  if   the   node   on   which
                  ct_slave:start/3  is called, is not alive. Notice that Node-
                  Name is the name of the current node in this case.

       stop(Node) -> Result

              Types:

                 Node = atom()
                 Result = {ok, NodeName} | {error, Reason, NodeName}
                 Reason = not_started | not_connected | stop_timeout

              Stops the running Erlang node with name Node on the local host.

       stop(Host, Node) -> Result

              Types:

                 Host = atom()
                 Node = atom()
                 Result = {ok, NodeName} | {error, Reason, NodeName}
                 Reason = not_started | not_connected | stop_timeout
                 NodeName = atom()

              Stops the running Erlang node with name Node on host Host.



Ericsson AB                    common_test 1.22                    ct_slave(3)