Esempio n. 1
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b'\t')

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(), b'd\x03\x00')

        instr = ConcreteInstr("LOAD_CONST", 0x1234abcd)
        self.assertEqual(instr.assemble(), b'\x904\x12d\xcd\xab')
Esempio n. 2
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b'\t')

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(), b'd\x03\x00')

        instr = ConcreteInstr("LOAD_CONST", 0x1234abcd)
        self.assertEqual(instr.assemble(), b'\x904\x12d\xcd\xab')
Esempio n. 3
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b'\t\x00' if WORDCODE else b'\t')

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(),
                         b'd\x03' if WORDCODE else b'd\x03\x00')

        instr = ConcreteInstr("LOAD_CONST", 0x1234abcd)
        self.assertEqual(instr.assemble(),
                         (b'\x90\x12\x904\x90\xabd\xcd'
                          if WORDCODE else b'\x904\x12d\xcd\xab'))

        instr = ConcreteInstr("LOAD_CONST", 3, extended_args=1)
        self.assertEqual(
            instr.assemble(),
            (b'\x90\x00d\x03' if WORDCODE else b'\x90\x00\x00d\x03\x00'))
Esempio n. 4
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b'\t\x00' if WORDCODE else b'\t')

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(),
                         b'd\x03' if WORDCODE else b'd\x03\x00')

        instr = ConcreteInstr("LOAD_CONST", 0x1234abcd)
        self.assertEqual(instr.assemble(),
                         (b'\x90\x12\x904\x90\xabd\xcd' if WORDCODE else
                          b'\x904\x12d\xcd\xab'))

        instr = ConcreteInstr("LOAD_CONST", 3, extended_args=1)
        self.assertEqual(instr.assemble(),
                         (b'\x90\x00d\x03' if WORDCODE else
                          b'\x90\x00\x00d\x03\x00'))
Esempio n. 5
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b"\t\x00")

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(), b"d\x03")

        instr = ConcreteInstr("LOAD_CONST", 0x1234ABCD)
        self.assertEqual(
            instr.assemble(),
            (b"\x90\x12\x904\x90\xabd\xcd"),
        )

        instr = ConcreteInstr("LOAD_CONST", 3, extended_args=1)
        self.assertEqual(
            instr.assemble(),
            (b"\x90\x00d\x03"),
        )
Esempio n. 6
0
    def test_assemble(self):
        instr = ConcreteInstr("NOP")
        self.assertEqual(instr.assemble(), b"\t")

        instr = ConcreteInstr("LOAD_CONST", 3)
        self.assertEqual(instr.assemble(), b"d\x03\x00")

        instr = ConcreteInstr("LOAD_CONST", 0x1234ABCD)
        self.assertEqual(
            instr.assemble(),
            b"%c4\x12d\xcd\xab" % EXTENDED_ARG,
        )

        instr = ConcreteInstr("LOAD_CONST", 3, extended_args=1)
        self.assertEqual(
            instr.assemble(),
            b"%c\x00\x00d\x03\x00" % EXTENDED_ARG,
        )