summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/struct_micropython.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/struct_micropython.py')
-rw-r--r--tests/basics/struct_micropython.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/basics/struct_micropython.py b/tests/basics/struct_micropython.py
index e3b0ea5086..53306dad67 100644
--- a/tests/basics/struct_micropython.py
+++ b/tests/basics/struct_micropython.py
@@ -18,3 +18,16 @@ o = A()
s = struct.pack("<O", o)
o2 = struct.unpack("<O", s)
print(o is o2[0])
+
+# pack and unpack pointer to a string
+# This requires uctypes to get the address of the string and instead of
+# putting this in a dedicated test that can be skipped we simply pass
+# if the import fails.
+try:
+ import uctypes
+ o = uctypes.addressof('abc')
+ s = struct.pack("<S", o)
+ o2 = struct.unpack("<S", s)
+ assert o2[0] == 'abc'
+except ImportError:
+ pass