def test_server_hello_with_malcolm_client(self):
     block2 = ClientController('hello', self.process2).block
     task = Task("task", self.process2)
     futures = task.when_matches(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     ret = block2.say_hello("me2")
     self.assertEqual(ret, dict(greeting="Hello me2"))
예제 #2
0
 def test_server_hello_with_malcolm_client(self):
     block2 = self.process2.make_client_block("hello")
     task = Task("task", self.process2)
     futures = task.when_matches_async(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     ret = block2.greet("me2")
     self.assertEqual(ret, dict(greeting="Hello me2"))
 def test_server_hello_with_malcolm_client(self):
     block2 = self.process2.make_client_block("hello")
     task = Task("task", self.process2)
     futures = task.when_matches_async(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     ret = block2.greet("me2")
     self.assertEqual(ret, dict(greeting="Hello me2"))
 def test_server_counter_with_malcolm_client(self):
     block2 = ClientController('counter', self.process2).block
     task = Task("task", self.process2)
     futures = task.when_matches(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     self.assertEqual(block2.counter, 0)
     block2.increment()
     self.assertEqual(block2.counter, 1)
예제 #5
0
 def test_server_counter_with_malcolm_client(self):
     block2 = self.process2.make_client_block("counter")
     task = Task("task", self.process2)
     futures = task.when_matches_async(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     self.assertEqual(block2.counter, 0)
     block2.increment()
     self.assertEqual(block2.counter, 1)
 def test_server_counter_with_malcolm_client(self):
     block2 = self.process2.make_client_block("counter")
     task = Task("task", self.process2)
     futures = task.when_matches_async(block2["state"], "Ready")
     task.wait_all(futures, timeout=1)
     self.assertEqual(block2.counter, 0)
     block2.increment()
     self.assertEqual(block2.counter, 1)
예제 #7
0
    def test_sever_all_inports(self):
        self.c1.block.inportConnector = 'Connector'
        self.c2.block.inportConnector = 'Connector'
        self.c3.block.inportConnector = 'Connector3'

        task = Task("Task1", self.p)
        self.p1.sever_all_inports(task)
        task.wait_all([], 5)
        self.assertEqual(self.c1.block.inportConnector, '')
        self.assertEqual(self.c2.block.inportConnector, 'Connector')
        self.assertEqual(self.c3.block.inportConnector, 'Connector3')
예제 #8
0
    def test_sever_all_inports(self):
        self.c1.block.inportConnector = 'Connector'
        self.c2.block.inportConnector = 'Connector'
        self.c3.block.inportConnector = 'Connector3'

        task = Task("Task1" , self.p)
        self.p1.sever_all_inports(task)
        task.wait_all([],5)
        self.assertEqual(self.c1.block.inportConnector, '')
        self.assertEqual(self.c2.block.inportConnector, 'Connector')
        self.assertEqual(self.c3.block.inportConnector, 'Connector3')
 def _call_do_run(self):
     try:
         self.do_run()
     except StopIteration:
         # Work out if it was an abort or pause
         with self.lock:
             state = self.state.value
         self.log_debug("Do run got StopIteration from %s", state)
         if state in (sm.REWINDING, sm.PAUSED):
             # Wait to be restarted
             self.log_debug("Waiting for PreRun")
             task = Task("StateWaiter", self.process)
             futures = task.when_matches(
                 self.state, sm.PRERUN,
                 [sm.DISABLING, sm.ABORTING, sm.FAULT])
             task.wait_all(futures)
             # Restart it
             self.do_run()
         else:
             # just drop out
             self.log_debug("We were aborted")
             raise