circuitpython/tests/extmod/deflate_compress_memory_error.py
Damien George 7729e80fdd all: Go back to using default ruff quote style.
Commit dc2fcfcc55 seems to have accidentally
changed the ruff quote style to "preserve", instead of keeping it at the
default which is "double".

Put it back to the default and update relevant .py files with this rule.

Signed-off-by: Damien George <damien@micropython.org>
2025-07-24 12:48:18 +10:00

39 lines
809 B
Python

# Test deflate.DeflateIO compression, with out-of-memory errors.
try:
# Check if deflate is available.
import deflate
import io
except ImportError:
print("SKIP")
raise SystemExit
# Check if compression is enabled.
if not hasattr(deflate.DeflateIO, "write"):
print("SKIP")
raise SystemExit
# Create a compressor object.
b = io.BytesIO()
g = deflate.DeflateIO(b, deflate.RAW, 15)
# Then, use up most of the heap.
l = []
while True:
try:
l.append(bytearray(1000))
except:
break
l.pop()
# Try to compress. This will try to allocate a large window and fail.
try:
g.write("test")
except MemoryError:
print("MemoryError")
# Should still be able to close the stream.
g.close()
# The underlying output stream should be unchanged.
print(b.getvalue())