''' Created on 01.01.2019 @author: eyck ''' import unittest import json import cppyy import os.path import pysysc as scpy from cppyy import gbl as cpp class Test(unittest.TestCase): initialized=False def setUp(self): proj_home='../PySysC-SC' conan_res = scpy.read_config_from_conan(os.path.join(proj_home, 'conanfile.txt')) scpy.load_systemc() scpy.add_include_path(os.path.join(proj_home, 'components')) scpy.add_library('components.h', os.path.join(proj_home, 'build/Debug/lib/libcomponents.so')) self.initiator = cpp.Initiator(cpp.sc_core.sc_module_name("initiator")) self.memories = [cpp.Memory(cpp.sc_core.sc_module_name(name)) for name in ["mem0", "mem1", "mem2", "mem3"]] self.router = cpp.Router[4](cpp.sc_core.sc_module_name("router")) self.initiator.socket.bind(self.router.target_socket) for idx,m in enumerate(self.memories): self.router.initiator_socket.at(idx).bind(m.socket) print("Initialized") def tearDown(self): #cpp.sc_core.sc_stop() pass def testSCTimeRepr(self): self.assertEqual(str(cpp.sc_core.sc_time_stamp()), '0 s') def testMembers(self): members = scpy.get_members(initiator) print("members") methods = scpy.get_methods(initiator) print("methods") ports = scpy.get_ports(initiator) print("ports") intors = scpy.get_inititator_sockets(initiator) print("intors") tgts = scpy.get_target_sockets(initiator) print("tgts") childs = scpy.get_submodules(initiator) print("childs") self.assertTrue(len(intors)==1, "Wrong numbers of initiator sockets") def testConnection(self): self.assertFalse(isinstance(self.intors[0][0], cpp.sc_core.sc_object), " intor[0] connects to sc_object", ) # def testSim(self): # cpp.sc_core.sc_in_action=True # cpp.sc_core.sc_start() if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] unittest.main()