diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-09-24 15:43:23 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-09-24 15:43:23 +0300 |
commit | d46de80162132cfffc244a366bf8d12bc87d29e8 (patch) | |
tree | 88733aa41ebe6c8bb08bb9be68c6c8edfd207c69 | |
parent | 7b901d6fb7e136c23cf6b728179bd86f9c9bd95e (diff) | |
download | micropython-d46de80162132cfffc244a366bf8d12bc87d29e8.tar.gz micropython-d46de80162132cfffc244a366bf8d12bc87d29e8.zip |
tests/uzlib_decompio_gz: Test for DecompIO with gzip bitstream.
-rw-r--r-- | tests/extmod/uzlib_decompio_gz.py | 39 | ||||
-rw-r--r-- | tests/extmod/uzlib_decompio_gz.py.exp | 11 |
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/extmod/uzlib_decompio_gz.py b/tests/extmod/uzlib_decompio_gz.py new file mode 100644 index 0000000000..c7aac04e8e --- /dev/null +++ b/tests/extmod/uzlib_decompio_gz.py @@ -0,0 +1,39 @@ +try: + import zlib +except ImportError: + import uzlib as zlib +import uio as io + + +# gzip bitstream +buf = io.BytesIO(b'\x1f\x8b\x08\x08\x99\x0c\xe5W\x00\x03hello\x00\xcbH\xcd\xc9\xc9\x07\x00\x86\xa6\x106\x05\x00\x00\x00') +inp = zlib.DecompIO(buf, 16 + 8) +print(buf.seek(0, 1)) +print(inp.read(1)) +print(buf.seek(0, 1)) +print(inp.read(2)) +print(inp.read()) +print(buf.seek(0, 1)) +print(inp.read(1)) +print(inp.read()) +print(buf.seek(0, 1)) + +# broken header +buf = io.BytesIO(b'\x1f\x8c\x08\x08\x99\x0c\xe5W\x00\x03hello\x00\xcbH\xcd\xc9\xc9\x07\x00\x86\xa6\x106\x05\x00\x00\x00') +try: + inp = zlib.DecompIO(buf, 16 + 8) +except ValueError: + print("ValueError") + +# broken crc32 +buf = io.BytesIO(b'\x1f\x8b\x08\x08\x99\x0c\xe5W\x00\x03hello\x00\xcbH\xcd\xc9\xc9\x07\x00\x86\xa7\x106\x05\x00\x00\x00') +inp = zlib.DecompIO(buf, 16 + 8) +try: + inp.read(6) +except OSError as e: + print(repr(e)) + +# broken uncompressed size - not checked so far +#buf = io.BytesIO(b'\x1f\x8b\x08\x08\x99\x0c\xe5W\x00\x03hello\x00\xcbH\xcd\xc9\xc9\x07\x00\x86\xa6\x106\x06\x00\x00\x00') +#inp = zlib.DecompIO(buf, 16 + 8) +#inp.read(6) diff --git a/tests/extmod/uzlib_decompio_gz.py.exp b/tests/extmod/uzlib_decompio_gz.py.exp new file mode 100644 index 0000000000..2330580f8c --- /dev/null +++ b/tests/extmod/uzlib_decompio_gz.py.exp @@ -0,0 +1,11 @@ +16 +b'h' +18 +b'el' +b'lo' +31 +b'' +b'' +31 +ValueError +OSError(22,) |