memoryview_gc.py 418 B

1234567891011121314151617181920212223
  1. # test memoryview retains pointer to original object/buffer
  2. try:
  3. memoryview
  4. except:
  5. print("SKIP")
  6. raise SystemExit
  7. b = bytearray(10)
  8. m = memoryview(b)[1:]
  9. for i in range(len(m)):
  10. m[i] = i
  11. # reclaim b, but hopefully not the buffer
  12. b = None
  13. import gc
  14. gc.collect()
  15. # allocate lots of memory
  16. for i in range(100000):
  17. [42, 42, 42, 42]
  18. # check that the memoryview is still what we want
  19. print(list(m))