Browse Source

tests/extmod/vfs_fat_finaliser.py: Ensure alloc at never-used GC blocks.

Prevents the finaliser from being missed if there's a dangling reference
on the stack to one of the blocks for the files (that this test checks
that they get finalised).

See github.com/micropython/micropython/pull/7659#issuecomment-899479793

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
pull/7677/head
Jim Mussared 3 years ago
committed by Damien George
parent
commit
91a99fcf0e
  1. 7
      tests/extmod/vfs_fat_finaliser.py

7
tests/extmod/vfs_fat_finaliser.py

@ -56,6 +56,13 @@ micropython.heap_unlock()
# Here we test that the finaliser is actually called during a garbage collection. # Here we test that the finaliser is actually called during a garbage collection.
import gc import gc
# Do a large number of single-block allocations to move the GC head forwards,
# ensuring that the files are allocated from never-before-used blocks and
# therefore couldn't possibly have any references to them left behind on
# the stack.
for i in range(1024):
[]
N = 4 N = 4
for i in range(N): for i in range(N):
n = "x%d" % i n = "x%d" % i

Loading…
Cancel
Save