Author: Martin Matusiak <numero...@gmail.com> Branch: py3.3 Changeset: r72938:5f4688671d8e Date: 2014-08-20 22:08 +0200 http://bitbucket.org/pypy/pypy/changeset/5f4688671d8e/
Log: add missing lzma.LZMAError diff --git a/pypy/module/_lzma/__init__.py b/pypy/module/_lzma/__init__.py --- a/pypy/module/_lzma/__init__.py +++ b/pypy/module/_lzma/__init__.py @@ -8,6 +8,7 @@ interpleveldefs = { 'LZMACompressor': 'interp_lzma.W_LZMACompressor', 'LZMADecompressor': 'interp_lzma.W_LZMADecompressor', + 'LZMAError': 'interp_lzma.W_LZMAError', '_encode_filter_properties': 'interp_lzma.encode_filter_properties', '_decode_filter_properties': 'interp_lzma.decode_filter_properties', 'FORMAT_AUTO': 'space.wrap(interp_lzma.FORMAT_AUTO)', diff --git a/pypy/module/_lzma/interp_lzma.py b/pypy/module/_lzma/interp_lzma.py --- a/pypy/module/_lzma/interp_lzma.py +++ b/pypy/module/_lzma/interp_lzma.py @@ -3,6 +3,7 @@ TypeDef, interp_attrproperty_bytes, interp_attrproperty) from pypy.interpreter.error import oefmt from pypy.interpreter.gateway import interp2app, unwrap_spec, WrappedDefault +from pypy.module.exceptions.interp_exceptions import _new_exception, W_Exception from pypy.module.thread.os_lock import Lock from rpython.rlib.objectmodel import specialize from rpython.rlib.rarithmetic import LONGLONG_MASK, r_ulonglong @@ -346,6 +347,9 @@ ) +W_LZMAError = _new_exception('LZMAError', W_Exception, 'Call to liblzma failed.') + + def encode_filter_properties(space, w_filter): """Return a bytes object encoding the options (properties) of the filter specified by *filter* (a dict). diff --git a/pypy/module/_lzma/test/test_lzma.py b/pypy/module/_lzma/test/test_lzma.py --- a/pypy/module/_lzma/test/test_lzma.py +++ b/pypy/module/_lzma/test/test_lzma.py @@ -15,3 +15,16 @@ b't\x9e\xdfI]\xff\xf4\x9d\x80\x00') decompressed = lzma.decompress(compressed) assert decompressed == b'Insert Data Here' + + def test_exceptions(self): + import _lzma + import lzma + + assert hasattr(_lzma, 'LZMAError') + assert hasattr(lzma, 'LZMAError') + + assert _lzma.LZMAError is lzma.LZMAError + assert _lzma.LZMAError.__doc__ == 'Call to liblzma failed.' + + exc = raises(_lzma.LZMAError, 'raise _lzma.LZMAError') + exc = raises(_lzma.LZMAError, 'raise _lzma.LZMAError("bad thing")') _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit