Example #1
0
def get_status(sock, server, node, uinput):
    what  = uinput[0]
    api   = "handle_call"
    status= pyerl.mk_atom("status")
    if  what == 'node':
        value = uinput[-1]
        val = pyerl.mk_atom(value)
    elif what == 'guid':
        value = uinput[-1]
        val = pyerl.mk_int(int(value))
    elif what == 'pid':
        rnode = uinput[1] # remote node
        pid   = uinput[2] # remote pid
        nodename = pyerl.mk_atom(rnode)
        ppid = pyerl.mk_string(pid)
        val   = pyerl.mk_tuple((nodename, ppid))
    else:
        raise Exception('Unknown message: %s' %  what)
    what  = pyerl.mk_atom(what)
    pid   = pyerl.mk_pid("node", 1, 2, 3)
    state = pyerl.mk_atom("atom") # passed state to server is irrelevant in this call
    tup   = pyerl.mk_tuple((status, what, val))
    args  = pyerl.mk_list([tup, pid, state])
    eterm = pyerl.rpc(sock, server, api, args)
    return eterm
Example #2
0
def test_black_box(sock, server, icmd, idir):
    api = "handle_call"
    atom = pyerl.mk_atom("process")
    cmd  = pyerl.mk_string(icmd)
    name = pyerl.mk_string(idir)
    tup = pyerl.mk_tuple((atom, cmd, name))
    pid = pyerl.mk_pid("node", 1, 2, 3)
    state = pyerl.mk_atom("atom") # passed state to server is irrelevant in this call
    args = pyerl.mk_list([tup, pid, state])
    eterm = pyerl.rpc(sock, server, api, args)
    return eterm
 def test_mk_pid(self):
     eterm = pyerl.mk_pid("node", 1, 2, 3)
     self.assertEqual(eterm.type, pyerl.PID);
     self.assertEqual(eterm.is_pid(), True);
     self.assertEqual(str(eterm), "<node.1.2>");