# ct_rpc

### MODULE

ct_rpc

### MODULE SUMMARY

Common Test specific layer on Erlang/OTP rpc.

### DESCRIPTION

Common Test specific layer on Erlang/OTP rpc.

### EXPORTS

app_node(App, Candidates) -> NodeName

Types:

App = atom()
Candidates = [NodeName]
NodeName = atom()

From a set of candidate nodes determines which of them is running the application App. If none of the candidate nodes is running the application the function will make the test case calling this function fail. This function is the same as calling app_node(App, Candidates, true).

app_node(App, Candidates, FailOnBadRPC) -> NodeName

Types:

App = atom()
Candidates = [NodeName]
NodeName = atom()
FailOnBadRPC = true | false

Same as app_node/2 only the FailOnBadRPC argument will determine if the search for a candidate node should stop or not if badrpc is received at some point.

app_node(App, Candidates, FailOnBadRPC, Cookie) -> NodeName

Types:

App = atom()
Candidates = [NodeName]
NodeName = atom()
FailOnBadRPC = true | false
Cookie = atom()

Same as app_node/2 only the FailOnBadRPC argument will determine if the search for a candidate node should stop or not if badrpc is received at some point. The cookie on the client node will be set to Cookie for this rpc operation (use to match the server node cookie).

call(Node, Module, Function, Args) -> term() | {badrpc, Reason}

Same as call(Node, Module, Function, Args, infinity)

call(Node, Module, Function, Args, TimeOut) -> term() | {badrpc, Reason}

Types:

Node = NodeName | {Fun, FunArgs}
Fun = fun()
FunArgs = term()
NodeName = atom()
Module = atom()
Function = atom()
Args = [term()]
Reason = timeout | term()

Evaluates apply(Module, Function, Args) on the node Node. Returns whatever Function returns or {badrpc, Reason} if the remote procedure call fails. If Node is {Fun, FunArgs} applying Fun to FunArgs should return a node name.

call(Node, Module, Function, Args, TimeOut, Cookie) -> term() | {badrpc, Reason}

Types:

Node = NodeName | {Fun, FunArgs}
Fun = fun()
FunArgs = term()
NodeName = atom()
Module = atom()
Function = atom()
Args = [term()]
Reason = timeout | term()
Cookie = atom()

Evaluates apply(Module, Function, Args) on the node Node. Returns whatever Function returns or {badrpc, Reason} if the remote procedure call fails. If Node is {Fun, FunArgs} applying Fun to FunArgs should return a node name. The cookie on the client node will be set to Cookie for this rpc operation (use to match the server node cookie).

cast(Node, Module, Function, Args) -> ok

Types:

Node = NodeName | {Fun, FunArgs}
Fun = fun()
FunArgs = term()
NodeName = atom()
Module = atom()
Function = atom()
Args = [term()]
Reason = timeout | term()

Evaluates apply(Module, Function, Args) on the node Node. No response is delivered and the process which makes the call is not suspended until the evaluation is compleated as in the case of call/[3,4]. If Node is {Fun, FunArgs} applying Fun to FunArgs should return a node name.

cast(Node, Module, Function, Args, Cookie) -> ok

Types:

Node = NodeName | {Fun, FunArgs}
Fun = fun()
FunArgs = term()
NodeName = atom()
Module = atom()
Function = atom()
Args = [term()]
Reason = timeout | term()
Cookie = atom()

Evaluates apply(Module, Function, Args) on the node Node. No response is delivered and the process which makes the call is not suspended until the evaluation is compleated as in the case of call/[3,4]. If Node is {Fun, FunArgs} applying Fun to FunArgs should return a node name. The cookie on the client node will be set to Cookie for this rpc operation (use to match the server node cookie).

### AUTHORS

- support@erlang.ericsson.se

common_test 1.3.3
Copyright © 1991-2008 Ericsson AB