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)
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)
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)