diff options
author | Rami Ali <flowergrass@users.noreply.github.com> | 2016-12-28 15:29:21 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-12-28 16:11:54 +1100 |
commit | 65574f817a949fea2316c335da866c1b8d20f1fb (patch) | |
tree | 382e7a3cbfb788f1e60aff9c26776bfaa1e3790c /tests | |
parent | ea6a958393eff6999040dd3852d505ae78b96f5b (diff) | |
download | micropython-65574f817a949fea2316c335da866c1b8d20f1fb.tar.gz micropython-65574f817a949fea2316c335da866c1b8d20f1fb.zip |
tests/basics: Add tests to improve coverage of binary.c.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basics/array_micropython.py | 12 | ||||
-rw-r--r-- | tests/basics/array_micropython.py.exp | 2 | ||||
-rw-r--r-- | tests/basics/struct1.py | 4 | ||||
-rw-r--r-- | tests/basics/struct_micropython.py | 20 | ||||
-rw-r--r-- | tests/basics/struct_micropython.py.exp | 1 |
5 files changed, 39 insertions, 0 deletions
diff --git a/tests/basics/array_micropython.py b/tests/basics/array_micropython.py new file mode 100644 index 0000000000..8e904bdfea --- /dev/null +++ b/tests/basics/array_micropython.py @@ -0,0 +1,12 @@ +# test MicroPython-specific features of array.array +import array + +# arrays of objects +a = array.array('O') +a.append(1) +print(a[0]) + +# arrays of pointers +a = array.array('P') +a.append(1) +print(a[0]) diff --git a/tests/basics/array_micropython.py.exp b/tests/basics/array_micropython.py.exp new file mode 100644 index 0000000000..6ed281c757 --- /dev/null +++ b/tests/basics/array_micropython.py.exp @@ -0,0 +1,2 @@ +1 +1 diff --git a/tests/basics/struct1.py b/tests/basics/struct1.py index 0eae9e3b4f..d89519a2fa 100644 --- a/tests/basics/struct1.py +++ b/tests/basics/struct1.py @@ -61,6 +61,10 @@ print(struct.unpack(">q", b"\xf2\x34\x56\x78\x90\x12\x34\x56")) print(struct.unpack("<I", b"\xff\xff\xff\xff")) print(struct.unpack("<Q", b"\xff\xff\xff\xff\xff\xff\xff\xff")) +# check small int overflow +print(struct.unpack("<i", b'\xff\xff\xff\x7f')) +print(struct.unpack("<q", b'\xff\xff\xff\xff\xff\xff\xff\x7f')) + # network byte order print(struct.pack('!i', 123)) diff --git a/tests/basics/struct_micropython.py b/tests/basics/struct_micropython.py new file mode 100644 index 0000000000..e3b0ea5086 --- /dev/null +++ b/tests/basics/struct_micropython.py @@ -0,0 +1,20 @@ +# test MicroPython-specific features of struct + +try: + import ustruct as struct +except: + try: + import struct + except ImportError: + import sys + print("SKIP") + sys.exit() + +class A(): + pass + +# pack and unpack objects +o = A() +s = struct.pack("<O", o) +o2 = struct.unpack("<O", s) +print(o is o2[0]) diff --git a/tests/basics/struct_micropython.py.exp b/tests/basics/struct_micropython.py.exp new file mode 100644 index 0000000000..0ca95142bb --- /dev/null +++ b/tests/basics/struct_micropython.py.exp @@ -0,0 +1 @@ +True |