Browse Source

tests/heapalloc_inst_call: Test for no alloc for simple object calls.

pull/2723/head
Paul Sokolovsky 8 years ago
parent
commit
05aebb9206
  1. 31
      tests/micropython/heapalloc_inst_call.py
  2. 4
      tests/micropython/heapalloc_inst_call.py.exp

31
tests/micropython/heapalloc_inst_call.py

@ -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()

4
tests/micropython/heapalloc_inst_call.py.exp

@ -0,0 +1,4 @@
__call__
__call__ 1
__call__ 1 2
__call__ 1 2 3
Loading…
Cancel
Save