summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBernhard Boser <boser@berkeley.edu>2020-12-07 15:16:16 -0800
committerBernhard Boser <boser@berkeley.edu>2020-12-07 15:40:02 -0800
commitb5b6b6d0f2fe669e0304521d663b16388c63b15e (patch)
tree2c9a965b97bfaf4c6858d21195281eb904e8beed /tests
parent608c98501bb90e02a480b2d84032a46f9a4d0737 (diff)
add ExtType, update doc, add a test
Diffstat (limited to 'tests')
-rw-r--r--tests/extmod/umsgpack_pack.py30
-rw-r--r--tests/extmod/umsgpack_pack.py.ext5
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/extmod/umsgpack_pack.py b/tests/extmod/umsgpack_pack.py
new file mode 100644
index 000000000..d9f0005e1
--- /dev/null
+++ b/tests/extmod/umsgpack_pack.py
@@ -0,0 +1,30 @@
+try:
+ from uio import BytesIO
+ import umsgpack as msgpack
+except:
+ try:
+ from io import BytesIO
+ import msgpack
+ except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+b = BytesIO()
+msgpack.pack(False, s)
+print(b.getvalue())
+
+b = BytesIO()
+msgpack.pack({"a": (-1, 0, 2, [3, None], 128)}, b)
+print(b.getvalue())
+
+# pack to a small-int not allowed
+try:
+ msgpack.pack(123, 1)
+except (AttributeError, OSError): # CPython and uPy have different errors
+ print('Exception')
+
+# pack to an object not allowed
+try:
+ msgpack.pack(123, {})
+except (AttributeError, OSError): # CPython and uPy have different errors
+ print('Exception')
diff --git a/tests/extmod/umsgpack_pack.py.ext b/tests/extmod/umsgpack_pack.py.ext
new file mode 100644
index 000000000..2f966be06
--- /dev/null
+++ b/tests/extmod/umsgpack_pack.py.ext
@@ -0,0 +1,5 @@
+b'\xc2'
+b'\x82\xa1a\x96\xff\x00\x02\x92\x03\xc0\xd1\x00\x80\xc4\x07abcdefg\xa1b\xd4\x05x'
+Exception ExtType
+Exception to int
+Exception to object