def test_child_processes(self):
        p1 = BaseProcess()
        pid1 = yield p1.spawn()

        child = ProcessDesc(name='echo', module='ion.core.test.test_baseprocess')
        pid2 = yield p1.spawn_child(child)

        (cont,hdrs,msg) = yield p1.rpc_send(pid2,'echo','content123')
        self.assertEquals(cont['value'], 'content123')

        yield p1.shutdown()
    def test_child_processes(self):
        p1 = BaseProcess()
        pid1 = yield p1.spawn()

        child = ProcessDesc(name='echo',
                            module='ion.core.test.test_baseprocess')
        pid2 = yield p1.spawn_child(child)

        (cont, hdrs, msg) = yield p1.rpc_send(pid2, 'echo', 'content123')
        self.assertEquals(cont['value'], 'content123')

        yield p1.shutdown()
    def test_process_basics(self):
        p1 = BaseProcess()
        self.assertEquals(p1.id, None)
        self.assertTrue(p1.receiver)
        self.assertEquals(p1.receiver.spawned, None)
        self.assertEquals(p1.proc_state, "NEW")

        pid1 = yield p1.spawn()
        self.assertEquals(pid1, p1.receiver.spawned.id)

        # Note: this tests init without actually sending a message.
        self.assertEquals(p1.proc_state, "ACTIVE")

        yield p1.op_init(None, None, None)
        self.assertEquals(p1.proc_state, "ERROR")

        rec = Receiver("myname")
        p2 = BaseProcess(rec)

        args = {'arg1': 'value1', 'arg2': {}}
        p3 = BaseProcess(None, args)
        self.assertEquals(p3.spawn_args, args)
    def test_process_basics(self):
        p1 = BaseProcess()
        self.assertEquals(p1.id, None)
        self.assertTrue(p1.receiver)
        self.assertEquals(p1.receiver.spawned, None)
        self.assertEquals(p1.proc_state, "NEW")

        pid1 = yield p1.spawn()
        self.assertEquals(pid1, p1.receiver.spawned.id)

        # Note: this tests init without actually sending a message.
        self.assertEquals(p1.proc_state, "ACTIVE")

        yield p1.op_init(None, None, None)
        self.assertEquals(p1.proc_state, "ERROR")

        rec = Receiver("myname")
        p2 = BaseProcess(rec)

        args = {'arg1':'value1','arg2':{}}
        p3 = BaseProcess(None, args)
        self.assertEquals(p3.spawn_args, args)