diff options
Diffstat (limited to 'tests/basics/struct2.py')
| -rw-r--r-- | tests/basics/struct2.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/basics/struct2.py b/tests/basics/struct2.py index d8234d0d3..ceb067776 100644 --- a/tests/basics/struct2.py +++ b/tests/basics/struct2.py @@ -25,6 +25,16 @@ print(struct.calcsize('0s1s0H2H')) print(struct.unpack('<0s1s0H2H', b'01234')) print(struct.pack('<0s1s0H2H', b'abc', b'abc', 258, 515)) +# check that we get an error if the buffer is too small +try: + struct.unpack('2H', b'\x00\x00') +except: + print('Exception') +try: + struct.pack_into('2I', bytearray(4), 0, 0) +except: + print('Exception') + # check that unknown types raise an exception try: struct.unpack('z', b'1') @@ -40,3 +50,30 @@ try: struct.calcsize('0z') except: print('Exception') + +# check that a count without a type specifier raises an exception + +try: + struct.calcsize('1') +except: + print('Exception') + +try: + struct.pack('1') +except: + print('Exception') + +try: + struct.pack_into('1', bytearray(4), 0, 'xx') +except: + print('Exception') + +try: + struct.unpack('1', 'xx') +except: + print('Exception') + +try: + struct.unpack_from('1', 'xx') +except: + print('Exception') |
