From 715ee9d925871f2c44632442ff42cb58c99ee9c7 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sat, 28 May 2016 23:27:38 +0100 Subject: py/modstruct: Allow to have "0s" in struct format. --- tests/basics/struct2.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/basics/struct2.py (limited to 'tests/basics/struct2.py') diff --git a/tests/basics/struct2.py b/tests/basics/struct2.py new file mode 100644 index 0000000000..f438bb55d2 --- /dev/null +++ b/tests/basics/struct2.py @@ -0,0 +1,28 @@ +# test ustruct with a count specified before the type + +try: + import ustruct as struct +except: + import struct + +print(struct.calcsize('0s')) +print(struct.unpack('0s', b'')) +print(struct.pack('0s', b'123')) + +print(struct.calcsize('2s')) +print(struct.unpack('2s', b'12')) +print(struct.pack('2s', b'123')) + +print(struct.calcsize('2H')) +print(struct.unpack('<2H', b'1234')) +print(struct.pack('<2H', 258, 515)) + +print(struct.calcsize('0s1s0H2H')) +print(struct.unpack('<0s1s0H2H', b'01234')) +print(struct.pack('<0s1s0H2H', b'abc', b'abc', 258, 515)) + +# check that zero of an unknown type raises an exception +try: + struct.calcsize('0z') +except: + print('Exception') -- cgit v1.2.3