def test_main(self):
        with MockSCSI(MockReadCapacity16(sbc)) as s:
            i = s.readcapacity16().result
            self.assertEqual(i['returned_lba'], 281474976710656)
            self.assertEqual(i['block_length'], 4096)
            self.assertEqual(i['p_type'], 4)
            self.assertEqual(i['prot_en'], 1)
            self.assertEqual(i['p_i_exponent'], 8)
            self.assertEqual(i['lbppbe'], 8)
            self.assertEqual(i['lbpme'], 1)
            self.assertEqual(i['lbprz'], 1)
            self.assertEqual(i['lowest_aligned_lba'], 8193)

            d = ReadCapacity16.unmarshall_datain(ReadCapacity16.marshall_datain(i))
            self.assertEqual(d, i)
Esempio n. 2
0
def main():
    with MockSCSI(MockReadCapacity16(sbc)) as s:
        i = s.readcapacity16().result
        assert i['returned_lba'] == 281474976710656
        assert i['block_length'] == 4096
        assert i['p_type'] == 4
        assert i['prot_en'] == 1
        assert i['p_i_exponent'] == 8
        assert i['lbppbe'] == 8
        assert i['lbpme'] == 1
        assert i['lbprz'] == 1
        assert i['lowest_aligned_lba'] == 8193

        d = ReadCapacity16.unmarshall_datain(ReadCapacity16.marshall_datain(i))
        assert d == i
def main():

    with MockSCSI(MockDevice(sbc)) as s:
        r = s.readcapacity16(alloclen=37)
        cdb = r.cdb
        assert cdb[0] == s.device.opcodes.SBC_OPCODE_9E.value
        assert cdb[1] == s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16
        assert cdb[2:10] == bytearray(8)
        assert scsi_ba_to_int(cdb[10:14]) == 37
        assert cdb[14:16] == bytearray(2)
        cdb = r.unmarshall_cdb(cdb)
        assert cdb['opcode'] == s.device.opcodes.SBC_OPCODE_9E.value
        assert cdb['service_action'] == s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16
        assert cdb['alloc_len'] == 37

        d = ReadCapacity16.unmarshall_cdb(ReadCapacity16.marshall_cdb(cdb))
        assert d == cdb
def main():

    with MockSCSI(MockDevice(sbc)) as s:
        r = s.readcapacity16(alloclen=37)
        cdb = r.cdb
        assert cdb[0] == s.device.opcodes.SBC_OPCODE_9E.value
        assert cdb[1] == s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16
        assert cdb[2:10] == bytearray(8)
        assert scsi_ba_to_int(cdb[10:14]) == 37
        assert cdb[14:16] == bytearray(2)
        cdb = r.unmarshall_cdb(cdb)
        assert cdb['opcode'] == s.device.opcodes.SBC_OPCODE_9E.value
        assert cdb['service_action'] == s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16
        assert cdb['alloc_len'] == 37

        d = ReadCapacity16.unmarshall_cdb(ReadCapacity16.marshall_cdb(cdb))
        assert d == cdb
Esempio n. 5
0
    def readcapacity16(self, **kwargs):
        """
        Returns a ReadCapacity16 Instance

        :param alloc_len = 32: size of requested datain
        :return: a ReadCapacity16 instance
        """
        return ReadCapacity16(self, **kwargs)
Esempio n. 6
0
    def readcapacity16(self, **kwargs):
        """
        Returns a ReadCapacity16 Instance

        :param kwargs: a dict with key/value pairs
                       alloc_len = 32, size of requested datain
        :return: a ReadCapacity16 instance
        """
        opcode = next(get_opcode(self.device.opcodes, '9E'))
        cmd = ReadCapacity16(opcode=opcode, **kwargs)
        self.execute(cmd)
        cmd.unmarshall()
        return cmd
Esempio n. 7
0
    def test_main(self):

        with MockSCSI(MockDevice(sbc)) as s:
            r = s.readcapacity16(alloclen=37)
            cdb = r.cdb
            self.assertEqual(cdb[0], s.device.opcodes.SBC_OPCODE_9E.value)
            self.assertEqual(
                cdb[1],
                s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16)
            self.assertEqual(cdb[2:10], bytearray(8))
            self.assertEqual(scsi_ba_to_int(cdb[10:14]), 37)
            self.assertEqual(cdb[14:16], bytearray(2))
            cdb = r.unmarshall_cdb(cdb)
            self.assertEqual(cdb['opcode'],
                             s.device.opcodes.SBC_OPCODE_9E.value)
            self.assertEqual(
                cdb['service_action'],
                s.device.opcodes.SBC_OPCODE_9E.serviceaction.READ_CAPACITY_16)
            self.assertEqual(cdb['alloc_len'], 37)

            d = ReadCapacity16.unmarshall_cdb(ReadCapacity16.marshall_cdb(cdb))
            self.assertEqual(d, cdb)