示例#1
0
 def test_unload(self):
     "Test unload of architecture"
     interface = Interface()
     retMsg = interface.load({'filepath':TEST_ARCH_PATH})
     self.assertEqual(retMsg,{'status':True})
     retMsg = interface.unload()
     self.assertEqual(retMsg,{'status':True})
示例#2
0
    def test_program(self):
        "Test program function for a valid architecture"
        interface = Interface()
        retMsg = interface.load({'filepath':TEST_ARCH_PATH})
        self.assertEqual(retMsg,{'status':True})

        retMsg = interface.handle_component_msg({'inspect':['memory']})
        self.assertEqual(len(retMsg['memory']['state']),0)

        retMsg = interface.program({'filepath':TEST_PROGRAM_PATH,'memory':'memory'})
        self.assertTrue(retMsg['memory']['success'])

        retMsg = interface.handle_component_msg({'inspect':['memory']})
        self.assertNotEqual(len(retMsg['memory']['state']),0)
示例#3
0
    def test_step(self):
        "Test architecture clock step"
        interface = Interface()
        retMsg = interface.load({'filepath':TEST_ARCH_PATH})
        self.assertEqual(retMsg,{'status':True})

        retMsg = interface.handle_component_msg({'inspect':['q']})
        value_1 = retMsg['q']['state']

        retMsg = interface.step({'type':'logic'})
        self.assertEqual(retMsg,({'status':True}))

        retMsg = interface.handle_component_msg({'inspect':['q']})
        value_2 = retMsg['q']['state']

        self.assertNotEqual(value_1,value_2)
示例#4
0
    def test_handle_component_msg(self):
        "Test architecture hook API router"
        interface = Interface()
        retMsg = interface.load({'filepath':TEST_ARCH_PATH})
        self.assertEqual(retMsg,{'status':True})

        retMsg = interface.handle_component_msg({'inspect':['q']})
        self.assertIn('q',retMsg)

        retMsg = interface.handle_component_msg({
            'modify' : {
                'name' : 'memory',
                'parameters' : {
                    'start' : 0,
                    'data' : [10,20,30,40,50,60,70,80]
                }
            }
        })
        self.assertTrue(retMsg['memory']['success'])

        retMsg = interface.handle_component_msg({'inspect':['memory']})
        self.assertEqual(retMsg['memory']['state'][7],80)

        retMsg = interface.handle_component_msg({'clear' : ['memory']})
        self.assertTrue(retMsg['memory']['success'])

        retMsg = interface.handle_component_msg({'inspect':['memory']})
        self.assertEqual(len(retMsg['memory']['state']),0)

        retMsg = interface.handle_component_msg({'inspect':['const']})
        value_1 = retMsg['const']['state']

        retMsg = interface.handle_component_msg({
            'generate' : {
                'name' : 'const',
                'parameters' : {
                    'state' : value_1 + 1
                }
            }
        })
        self.assertTrue(retMsg['const']['success'])

        retMsg = interface.handle_component_msg({'inspect':['const']})
        value_2 = retMsg['const']['state']

        self.assertNotEqual(value_1,value_2)