summaryrefslogtreecommitdiff
path: root/tests/micropython/schedule.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/micropython/schedule.py')
-rw-r--r--tests/micropython/schedule.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/micropython/schedule.py b/tests/micropython/schedule.py
index 74f90cb2d..6a91459ea 100644
--- a/tests/micropython/schedule.py
+++ b/tests/micropython/schedule.py
@@ -5,16 +5,18 @@ import micropython
try:
micropython.schedule
except AttributeError:
- print('SKIP')
+ print("SKIP")
raise SystemExit
# Basic test of scheduling a function.
+
def callback(arg):
global done
print(arg)
done = True
+
done = False
micropython.schedule(callback, 1)
while not done:
@@ -23,20 +25,23 @@ while not done:
# Test that callbacks can be scheduled from within a callback, but
# that they don't execute until the outer callback is finished.
+
def callback_inner(arg):
global done
- print('inner')
+ print("inner")
done += 1
+
def callback_outer(arg):
global done
micropython.schedule(callback_inner, 0)
# need a loop so that the VM can check for pending events
for i in range(2):
pass
- print('outer')
+ print("outer")
done += 1
+
done = 0
micropython.schedule(callback_outer, 0)
while done != 2:
@@ -45,15 +50,17 @@ while done != 2:
# Test that scheduling too many callbacks leads to an exception. To do this we
# must schedule from within a callback to guarantee that the scheduler is locked.
+
def callback(arg):
global done
try:
for i in range(100):
- micropython.schedule(lambda x:x, None)
+ micropython.schedule(lambda x: x, None)
except RuntimeError:
- print('RuntimeError')
+ print("RuntimeError")
done = True
+
done = False
micropython.schedule(callback, None)
while not done: