def test_isohybrid_parse_invalid_size(): isohybrid = pycdlib.isohybrid.IsoHybrid() with pytest.raises( pycdlib.pycdlibexception.PyCdlibInternalError) as excinfo: isohybrid.parse(b'') assert (str(excinfo.value) == 'Invalid IsoHybrid MBR passed')
def test_isohybrid_parse_initialized_twice(): isohybrid = pycdlib.isohybrid.IsoHybrid() isohybrid.parse(b'\x33\xed' + b'\x90' * 30 + b'\x00'*400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x80' + b'\x00'*63 + b'\x55\xaa') with pytest.raises(pycdlib.pycdlibexception.PyCdlibInternalError) as excinfo: isohybrid.parse(b'\x33\xed' + b'\x90' * 30 + b'\x00'*400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x80' + b'\x00'*63 + b'\x55\xaa') assert(str(excinfo.value) == 'This IsoHybrid object is already initialized')
def test_isohybrid_parse_bad_tail(): isohybrid = pycdlib.isohybrid.IsoHybrid() with pytest.raises(pycdlib.pycdlibexception.PyCdlibInvalidISO) as excinfo: isohybrid.parse( b'\x33\xed' + b'\x90' * 30 + b'\x00' * 400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x80' + b'\x00' * 63 + b'\xaa\xaa') assert (str(excinfo.value) == 'Invalid tail on isohybrid section')
def test_isohybrid_parse_no_part_entry(): isohybrid = pycdlib.isohybrid.IsoHybrid() with pytest.raises(pycdlib.pycdlibexception.PyCdlibInvalidISO) as excinfo: isohybrid.parse( b'\x33\xed' + b'\x90' * 30 + b'\x00' * 400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x00' + b'\x00' * 63 + b'\x55\xaa') assert (str(excinfo.value) == 'No valid partition found in IsoHybrid!')
def test_isohybrid_parse_invalid_unused2(): isohybrid = pycdlib.isohybrid.IsoHybrid() with pytest.raises(pycdlib.pycdlibexception.PyCdlibInvalidISO) as excinfo: isohybrid.parse( b'\x33\xed' + b'\x90' * 30 + b'\x00' * 400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00' + b'\x80' + b'\x00' * 63 + b'\x55\xaa') assert (str(excinfo.value) == 'Invalid IsoHybrid unused2')
def test_isohybrid_parse_clamp_geometry_sectors(): isohybrid = pycdlib.isohybrid.IsoHybrid() isohybrid.parse(b'\x33\xed' + b'\x90' * 30 + b'\x00'*400 + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + b'\x80' + b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00' + b'\x00'*47 + b'\x55\xaa') assert(isohybrid.geometry_sectors == 63)