示例#1
0
class ModelTest(unittest.TestCase):
    dirname = os.path.dirname(__file__)
    l = linux.SLinux(os.path.join(dirname, "binaries", "basic_linux_amd64"))
    state = State(ConstraintSet(), l)
    stack_top = state.cpu.RSP

    def _clear_constraints(self):
        self.state.context["migration_map"] = None
        self.state._constraints = ConstraintSet()

    def tearDown(self):
        self._clear_constraints()
        self.state.cpu.RSP = self.stack_top

    def _push_string(self, s):
        cpu = self.state.cpu
        cpu.RSP -= len(s)
        cpu.write_bytes(cpu.RSP, s)
        return cpu.RSP

    def _push_string_space(self, l):
        cpu = self.state.cpu
        cpu.RSP -= l
        return cpu.RSP

    def _pop_string_space(self, l):
        cpu = self.state.cpu
        cpu.RSP += l
        return cpu.RSP

    def assertItemsEqual(self, a, b):
        # Required for Python3 compatibility
        self.assertEqual(sorted(a), sorted(b))
示例#2
0
 def get_state(cls):
     if cls.cpu is None:
         constraints = ConstraintSet()
         platform = linux.SLinux('/bin/ls')
         cls.state = State(constraints, platform)
         cls.cpu = platform._mk_proc('armv7')
     return (cls.cpu, cls.state)
示例#3
0
 def get_state(cls):
     if cls.cpu is None:
         constraints = ConstraintSet()
         dirname = os.path.dirname(__file__)
         platform = linux.SLinux(os.path.join(dirname, 'binaries', 'basic_linux_amd64'))
         cls.state = State(constraints, platform)
         cls.cpu = platform._mk_proc('armv7')
     return (cls.cpu, cls.state)
示例#4
0
class ModelTest(unittest.TestCase):
    l = linux.SLinux('/bin/ls')
    state = State(ConstraintSet(), l)
    stack_top = state.cpu.RSP

    def _clear_constraints(self):
        self.state._constraints = ConstraintSet()

    def tearDown(self):
        self._clear_constraints()
        self.state.cpu.RSP = self.stack_top

    def _push_string(self, s):
        cpu = self.state.cpu
        cpu.RSP -= len(s)
        cpu.write_bytes(cpu.RSP, s)
        return cpu.RSP
示例#5
0
class ModelTest(unittest.TestCase):
    l = linux.SLinux('/bin/ls')
    state = State(ConstraintSet(), l)
    stack_top = state.cpu.RSP

    def _clear_constraints(self):
        self.state._constraints = ConstraintSet()

    def tearDown(self):
        self._clear_constraints()
        self.state.cpu.RSP = self.stack_top

    def _push_string(self, s):
        cpu = self.state.cpu
        cpu.RSP -= len(s)
        cpu.write_bytes(cpu.RSP, s)
        return cpu.RSP

    def assertItemsEqual(self, a, b):
        # Required for Python3 compatibility
        self.assertEqual(sorted(a), sorted(b))
示例#6
0
 def setUp(self):
     self.tmp_dir = tempfile.TemporaryDirectory(prefix="mcore_test_")
     self.linux = linux.SLinux(self.BIN_PATH)
示例#7
0
 def setUp(self):
     self.linux = linux.SLinux(self.BIN_PATH)