tests/micropython: Add test for yield-from while heap is locked.
This commit is contained in:
parent
aacd618939
commit
de8c04317b
|
@ -0,0 +1,31 @@
|
|||
# Check that yield-from can work without heap allocation
|
||||
|
||||
import micropython
|
||||
|
||||
# Yielding from a function generator
|
||||
def sub_gen(a):
|
||||
for i in range(a):
|
||||
yield i
|
||||
def gen(g):
|
||||
yield from g
|
||||
g = gen(sub_gen(4))
|
||||
micropython.heap_lock()
|
||||
print(next(g))
|
||||
print(next(g))
|
||||
micropython.heap_unlock()
|
||||
|
||||
# Yielding from a user iterator
|
||||
class G:
|
||||
def __init__(self):
|
||||
self.value = 0
|
||||
def __iter__(self):
|
||||
return self
|
||||
def __next__(self):
|
||||
v = self.value
|
||||
self.value += 1
|
||||
return v
|
||||
g = gen(G())
|
||||
micropython.heap_lock()
|
||||
print(next(g))
|
||||
print(next(g))
|
||||
micropython.heap_unlock()
|
|
@ -0,0 +1,4 @@
|
|||
0
|
||||
1
|
||||
0
|
||||
1
|
Loading…
Reference in New Issue