circuitpython/tests/micropython/heapalloc_inst_call.py
David Lechner 3dc324d3f1 tests: Format all Python code with black, except tests in basics subdir.
This adds the Python files in the tests/ directory to be formatted with
./tools/codeformat.py.  The basics/ subdirectory is excluded for now so we
aren't changing too much at once.

In a few places `# fmt: off`/`# fmt: on` was used where the code had
special formatting for readability or where the test was actually testing
the specific formatting.
2020-03-30 13:21:58 +11:00

37 lines
548 B
Python

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