Source code for cis_interface.drivers.tests.test_RPCDriver

import nose.tools as nt
import cis_interface.drivers.tests.test_Driver as parent
from cis_interface.drivers.tests.test_IODriver import IOInfo


[docs]class TestRPCParam(parent.TestParam, IOInfo): r"""Test parameters for RPCDriver class. Attributes (in addition to parent class's): - """ def __init__(self, *args, **kwargs): super(TestRPCParam, self).__init__(*args, **kwargs) IOInfo.__init__(self) self.driver = 'RPCDriver' self.args = '_TEST' self.attr_list += ['iipc', 'oipc']
[docs]class TestRPCDriverNoStart(TestRPCParam, parent.TestDriverNoStart, IOInfo): r"""Test class for RPCDriver class without start. Attributes (in addition to parent class's): - """ pass
[docs]class TestRPCDriver(TestRPCParam, parent.TestDriver, IOInfo): r"""Test class for RPCDriver class. Attributes (in addition to parent class's): - """
[docs] def test_send_recv(self): r"""Test sending/receiving small message.""" # Input self.instance.ipc_send(self.msg_short, use_input=True) nt.assert_equal(self.instance.n_msg_in, 1) msg_recv = self.instance.ipc_recv() nt.assert_equal(self.instance.n_msg_in, 0) nt.assert_equal(msg_recv, self.msg_short) # Output self.instance.ipc_send(self.msg_short) nt.assert_equal(self.instance.n_msg_out, 1) msg_recv = self.instance.ipc_recv(use_output=True) nt.assert_equal(msg_recv, self.msg_short) nt.assert_equal(self.instance.n_msg_out, 0)
[docs] def test_send_recv_nolimit(self): r"""Test sending/receiving large message.""" assert(len(self.msg_long) > self.maxMsgSize) # Input self.instance.ipc_send_nolimit(self.msg_long, use_input=True) msg_recv = self.instance.ipc_recv_nolimit() nt.assert_equal(msg_recv, self.msg_long) # Output self.instance.ipc_send_nolimit(self.msg_long) msg_recv = self.instance.ipc_recv_nolimit(use_output=True) nt.assert_equal(msg_recv, self.msg_long)
[docs] def test_send_recv_wait(self): r"""Test sending/receiving small message with wait.""" # Input self.instance.ipc_send(self.msg_short, use_input=True) msg_recv = self.instance.recv_wait() nt.assert_equal(msg_recv, self.msg_short) # Output self.instance.ipc_send(self.msg_short) msg_recv = self.instance.recv_wait(use_output=True) nt.assert_equal(msg_recv, self.msg_short)
[docs] def test_send_recv_wait_nolimit(self): r"""Test sending/receiving large message with wait.""" assert(len(self.msg_long) > self.maxMsgSize) # Input self.instance.ipc_send_nolimit(self.msg_long, use_input=True) msg_recv = self.instance.recv_wait_nolimit() nt.assert_equal(msg_recv, self.msg_long) # Output self.instance.ipc_send_nolimit(self.msg_long) msg_recv = self.instance.recv_wait_nolimit(use_output=True) nt.assert_equal(msg_recv, self.msg_long)
[docs] def assert_before_stop(self): r"""Assertions to make before stopping the driver instance.""" super(TestRPCDriver, self).assert_before_stop() assert(self.instance.iipc.mq) assert(self.instance.oipc.mq)
[docs] def run_before_terminate(self): r"""Commands to run while the instance is running, before terminate.""" self.instance.ipc_send(self.msg_short) self.instance.ipc_send(self.msg_short, use_input=True)
[docs] def assert_after_terminate(self): r"""Assertions to make after terminating the driver instance.""" super(TestRPCDriver, self).assert_after_terminate() assert(not self.instance.iipc.mq) assert(not self.instance.oipc.mq)