Paul Sokolovsky
8 years ago
2 changed files with 35 additions and 0 deletions
@ -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