diff options
| author | DavePutz <dwputz@gmail.com> | 2020-09-14 16:47:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-14 16:47:56 -0500 |
| commit | ecd8d49e38873bb5569a0974cb78e3c42f664f19 (patch) | |
| tree | 80ab9d0a23ff45c6bbeeb7a08042355981b0428f /tests/basics | |
| parent | 43d5892baa5e38e72f61d174974338a9d421ea47 (diff) | |
| parent | 3d8bac50e41acc286cefbde9e052c5ccb335101e (diff) | |
Merge pull request #27 from adafruit/main
Update from adafruit/main
Diffstat (limited to 'tests/basics')
| -rw-r--r-- | tests/basics/struct1.py | 25 | ||||
| -rw-r--r-- | tests/basics/struct_micropython.py | 41 | ||||
| -rw-r--r-- | tests/basics/struct_micropython.py.exp | 2 |
3 files changed, 25 insertions, 43 deletions
diff --git a/tests/basics/struct1.py b/tests/basics/struct1.py index db34342a1..107006cc3 100644 --- a/tests/basics/struct1.py +++ b/tests/basics/struct1.py @@ -39,6 +39,28 @@ print(v == (10, 100, 200, 300)) # network byte order print(struct.pack('!i', 123)) +# too short / too long arguments +buf = bytearray(b'>>>123<<<') +try: + struct.pack_into('bb', buf, 0, 3) +except: + print('struct.error') + +try: + struct.pack_into('bb', buf, 0, 3, 1, 4) +except: + print('struct.error') + +try: + struct.pack('bb', 3) +except: + print('struct.error') + +try: + struct.pack('bb', 3, 1, 4) +except: + print('struct.error') + # check that we get an error if the buffer is too small try: struct.unpack('I', b'\x00\x00\x00') @@ -96,3 +118,6 @@ try: print(struct.unpack_from('<b', buf, -11)) except: print('struct.error') + +# check padding bytes +print(struct.pack("xb", 3)) diff --git a/tests/basics/struct_micropython.py b/tests/basics/struct_micropython.py deleted file mode 100644 index e72153071..000000000 --- a/tests/basics/struct_micropython.py +++ /dev/null @@ -1,41 +0,0 @@ -# test MicroPython-specific features of struct - -try: - import ustruct as struct -except: - try: - import struct - except ImportError: - print("SKIP") - raise SystemExit - -try: - struct.pack('O', None) -except ValueError: - print("SKIP") - raise SystemExit - -class A(): - pass - -# pack and unpack objects -o = A() -s = struct.pack("<O", o) -o2 = struct.unpack("<O", s) -print(o is o2[0]) - -# pack can accept less arguments than required for the format spec -print(struct.pack('<2I', 1)) - -# 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 diff --git a/tests/basics/struct_micropython.py.exp b/tests/basics/struct_micropython.py.exp deleted file mode 100644 index 55b7b6623..000000000 --- a/tests/basics/struct_micropython.py.exp +++ /dev/null @@ -1,2 +0,0 @@ -True -b'\x01\x00\x00\x00\x00\x00\x00\x00' |
