Example #1
0
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')
Example #2
0
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')
Example #3
0
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')
Example #4
0
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!')
Example #5
0
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')
Example #6
0
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)