summaryrefslogtreecommitdiff
path: root/tests/micropython
diff options
context:
space:
mode:
Diffstat (limited to 'tests/micropython')
-rw-r--r--tests/micropython/viper_ptr16_load.py18
-rw-r--r--tests/micropython/viper_ptr16_load.py.exp3
-rw-r--r--tests/micropython/viper_ptr8_load.py27
-rw-r--r--tests/micropython/viper_ptr8_load.py.exp4
4 files changed, 52 insertions, 0 deletions
diff --git a/tests/micropython/viper_ptr16_load.py b/tests/micropython/viper_ptr16_load.py
new file mode 100644
index 000000000..06ce7db15
--- /dev/null
+++ b/tests/micropython/viper_ptr16_load.py
@@ -0,0 +1,18 @@
+# test loading from ptr16 type
+# only works on little endian machines
+
+@micropython.viper
+def get(src:ptr16) -> int:
+ return src[0]
+
+@micropython.viper
+def memadd(src:ptr16, n:int) -> int:
+ sum = 0
+ for i in range(n):
+ sum += src[i]
+ return sum
+
+b = bytearray(b'1234')
+print(b)
+print(get(b))
+print(memadd(b, 2))
diff --git a/tests/micropython/viper_ptr16_load.py.exp b/tests/micropython/viper_ptr16_load.py.exp
new file mode 100644
index 000000000..68fd9e80c
--- /dev/null
+++ b/tests/micropython/viper_ptr16_load.py.exp
@@ -0,0 +1,3 @@
+bytearray(b'1234')
+12849
+26212
diff --git a/tests/micropython/viper_ptr8_load.py b/tests/micropython/viper_ptr8_load.py
new file mode 100644
index 000000000..98c163f8e
--- /dev/null
+++ b/tests/micropython/viper_ptr8_load.py
@@ -0,0 +1,27 @@
+# test loading from ptr8 type
+
+@micropython.viper
+def get(src:ptr8) -> int:
+ return src[0]
+
+@micropython.viper
+def memadd(src:ptr8, n:int) -> int:
+ sum = 0
+ for i in range(n):
+ sum += src[i]
+ return sum
+
+@micropython.viper
+def memadd2(src_in) -> int:
+ src = ptr8(src_in)
+ n = int(len(src_in))
+ sum = 0
+ for i in range(n):
+ sum += src[i]
+ return sum
+
+b = bytearray(b'1234')
+print(b)
+print(get(b))
+print(memadd(b, 4))
+print(memadd2(b))
diff --git a/tests/micropython/viper_ptr8_load.py.exp b/tests/micropython/viper_ptr8_load.py.exp
new file mode 100644
index 000000000..aeab88da1
--- /dev/null
+++ b/tests/micropython/viper_ptr8_load.py.exp
@@ -0,0 +1,4 @@
+bytearray(b'1234')
+49
+202
+202