tests/heapalloc_inst_call: Test for no alloc for simple object calls.
This commit is contained in:
parent
492c612f9d
commit
05aebb9206
|
@ -0,0 +1,31 @@
|
|||
# Test that calling clazz.__call__() with up to at least 3 arguments
|
||||
# doesn't require heap allocation.
|
||||
import micropython
|
||||
|
||||
class Foo0:
|
||||
def __call__(self):
|
||||
print("__call__")
|
||||
|
||||
class Foo1:
|
||||
def __call__(self, a):
|
||||
print("__call__", a)
|
||||
|
||||
class Foo2:
|
||||
def __call__(self, a, b):
|
||||
print("__call__", a, b)
|
||||
|
||||
class Foo3:
|
||||
def __call__(self, a, b, c):
|
||||
print("__call__", a, b, c)
|
||||
|
||||
f0 = Foo0()
|
||||
f1 = Foo1()
|
||||
f2 = Foo2()
|
||||
f3 = Foo3()
|
||||
|
||||
micropython.heap_lock()
|
||||
f0()
|
||||
f1(1)
|
||||
f2(1, 2)
|
||||
f3(1, 2, 3)
|
||||
micropython.heap_unlock()
|
|
@ -0,0 +1,4 @@
|
|||
__call__
|
||||
__call__ 1
|
||||
__call__ 1 2
|
||||
__call__ 1 2 3
|
Loading…
Reference in New Issue