Example #1
0
 def test_parse_unit(self):
     test1 = '1KB'
     self.assertEqual(parse_unit(test1), 1024)
     test2 = '45MiB'
     self.assertEqual(parse_unit(test2), 47185920)
     test3 = '1337gb'
     self.assertEqual(parse_unit(test3), 1435592818688)
     test4 = '12g12gb'
     with self.assertRaises(ValueError):
         parse_unit(test4)
Example #2
0
 def test_parse_unit(self):
     test1 = '1KB'
     self.assertEqual(parse_unit(test1), 1024)
     test2 = '45MiB'
     self.assertEqual(parse_unit(test2), 47185920)
     test3 = '1337gb'
     self.assertEqual(parse_unit(test3), 1435592818688)
     test4 = '12g12gb'
     with self.assertRaises(ValueError):
         parse_unit(test4)
Example #3
0
def calculate(address, size):
    '''Calculate the start and end memory addresses of the dump'''
    try:
        # Fix address
        if isinstance(address, int):
            pass
        elif address.startswith('0x'):
            address = int(address, 0) & 0xfffff000  # Address
        elif address.startswith('p'):
            address = int(address[1:]) * cfg.PAGESIZE  # Page number
        else:
            address = int(address)  # Integer

        # Fix size
        try:
            size = util.parse_unit(size)
        except ValueError as e:
            raise InceptionException('Could not parse "{0}" to a valid data '
                                     'size: {1}'.format(size, e))
        if size < cfg.PAGESIZE:
            term.warn('Minimum dump size is a page, {0} KiB'
                      .format(cfg.PAGESIZE // cfg.KiB))
        end = address + size
        return address, end
    except Exception as e:
        raise InceptionException('Could not calculate start and end memory '
                                 'address', e)
Example #4
0
def calculate(address, size):
    '''Calculate the start and end memory addresses of the dump'''
    try:
        # Fix address
        if isinstance(address, int):
            pass
        elif address.startswith('0x'):
            address = int(address, 0) & 0xfffff000  # Address
        elif address.startswith('p'):
            address = int(address[1:]) * cfg.PAGESIZE  # Page number
        else:
            address = int(address)  # Integer

        # Fix size
        try:
            size = util.parse_unit(size)
        except ValueError as e:
            raise InceptionException('Could not parse "{0}" to a valid data '
                                     'size: {1}'.format(size, e))
        if size < cfg.PAGESIZE:
            term.warn('Minimum dump size is a page, {0} KiB'.format(
                cfg.PAGESIZE // cfg.KiB))
        end = address + size
        return address, end
    except Exception as e:
        raise InceptionException(
            'Could not calculate start and end memory '
            'address', e)