test_block_3.py 791 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import lz4.block
  2. import pytest
  3. test_data = [
  4. (b'a' * 1024 * 1024),
  5. ]
  6. @pytest.fixture(
  7. params=test_data,
  8. ids=[
  9. 'data' + str(i) for i in range(len(test_data))
  10. ]
  11. )
  12. def data(request):
  13. return request.param
  14. def test_block_decompress_mem_usage(data):
  15. tracemalloc = pytest.importorskip('tracemalloc')
  16. tracemalloc.start()
  17. compressed = lz4.block.compress(data)
  18. prev_snapshot = None
  19. for i in range(1000):
  20. decompressed = lz4.block.decompress(compressed) # noqa: F841
  21. if i % 100 == 0:
  22. snapshot = tracemalloc.take_snapshot()
  23. if prev_snapshot:
  24. stats = snapshot.compare_to(prev_snapshot, 'lineno')
  25. assert stats[0].size_diff < (1024 * 4)
  26. prev_snapshot = snapshot