summaryrefslogtreecommitdiff
path: root/tests/misc/cexample_class.py
diff options
context:
space:
mode:
authorLaurens Valk <laurens@pybricks.com>2022-11-21 14:10:02 +0100
committerDamien George <damien@micropython.org>2022-11-23 11:46:17 +1100
commita67989aa201817efaaefebdc7fd491358da45df8 (patch)
tree52da627e96de13906b4641f68054152f58f28d3a /tests/misc/cexample_class.py
parent1d27c7d423f4e7b2c1f2e9b68d99a33ac26d81eb (diff)
examples/usercmodule: Add example of a native C class.
This shows how ports can add their own custom types/classes. It is part of the unix coverage build, so we can use it for tests too. Signed-off-by: Laurens Valk <laurens@pybricks.com>
Diffstat (limited to 'tests/misc/cexample_class.py')
-rw-r--r--tests/misc/cexample_class.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/misc/cexample_class.py b/tests/misc/cexample_class.py
new file mode 100644
index 000000000..bdeb9a8cb
--- /dev/null
+++ b/tests/misc/cexample_class.py
@@ -0,0 +1,20 @@
+# test custom native class
+
+try:
+ import cexample
+ import time
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+t = cexample.Timer()
+
+print(t)
+print(t.time() <= 1)
+
+time.sleep_ms(100)
+
+elapsed = t.time()
+
+if not (99 <= elapsed <= 110):
+ print("Elapsed time should be approx. 100ms but it is", elapsed)