Lines Matching refs:struct
7 import struct
38 self.assertEqual((struct.pack('=i', 1)[0] == 0), ISBIGENDIAN)
41 self.assertRaises(struct.error, struct.calcsize, 'Z')
43 sz = struct.calcsize('i')
44 self.assertEqual(sz * 3, struct.calcsize('iii'))
48 sz = struct.calcsize(fmt)
49 sz3 = struct.calcsize(fmt3)
52 self.assertRaises(struct.error, struct.pack, 'iii', 3)
53 self.assertRaises(struct.error, struct.pack, 'i', 3, 3, 3)
54 self.assertRaises((TypeError, struct.error), struct.pack, 'i', 'foo')
55 self.assertRaises((TypeError, struct.error), struct.pack, 'P', 'foo')
56 self.assertRaises(struct.error, struct.unpack, 'd', b'flap')
57 s = struct.pack('ii', 1, 2)
58 self.assertRaises(struct.error, struct.unpack, 'iii', s)
59 self.assertRaises(struct.error, struct.unpack, 'i', s)
74 s = struct.pack(format, c, b, h, i, l, f, d, t)
75 cp, bp, hp, ip, lp, fp, dp, tp = struct.unpack(format, s)
131 res = struct.pack(xfmt, arg)
133 self.assertEqual(struct.calcsize(xfmt), len(res))
134 rev = struct.unpack(xfmt, res)[0]
150 size = struct.calcsize(format)
157 signed_size = struct.calcsize(byteorder + format_pair[0])
158 unsigned_size = struct.calcsize(byteorder + format_pair[1])
162 self.assertEqual(struct.calcsize('b'), 1)
163 self.assertLessEqual(2, struct.calcsize('h'))
164 self.assertLessEqual(4, struct.calcsize('l'))
165 self.assertLessEqual(struct.calcsize('h'), struct.calcsize('i'))
166 self.assertLessEqual(struct.calcsize('i'), struct.calcsize('l'))
167 self.assertLessEqual(8, struct.calcsize('q'))
168 self.assertLessEqual(struct.calcsize('l'), struct.calcsize('q'))
169 self.assertGreaterEqual(struct.calcsize('n'), struct.calcsize('i'))
170 self.assertGreaterEqual(struct.calcsize('n'), struct.calcsize('P'))
185 self.bytesize = struct.calcsize(format)
199 def test_one(self, x, pack=struct.pack,
200 unpack=struct.unpack,
230 self.assertRaises((struct.error, TypeError), unpack, format,
234 self.assertRaises((OverflowError, ValueError, struct.error),
289 self.assertRaises((TypeError, struct.error),
290 struct.pack, self.format,
292 self.assertRaises((TypeError, struct.error),
293 struct.pack, self.format,
295 self.assertRaises((TypeError, struct.error),
296 struct.pack, self.format,
298 self.assertRaises((TypeError, struct.error),
299 struct.pack, self.format,
301 self.assertRaises((TypeError, struct.error),
302 struct.pack, self.format,
309 struct.pack(format, obj)
317 self.assertRaises((TypeError, struct.error),
318 struct.pack, self.format,
329 with self.assertRaises(struct.error) as cm:
331 self.assertIn("bad char in struct format", str(cm.exception))
335 assertStructError(struct.calcsize, format)
336 assertStructError(struct.pack, format, 0)
337 assertStructError(struct.unpack, format, b"")
350 got = struct.pack(code, input)
352 (got,) = struct.unpack(code, got)
366 packed = struct.pack("<f", smaller)
367 unpacked = struct.unpack("<f", packed)[0]
371 bigpacked = struct.pack(">f", smaller)
373 unpacked = struct.unpack(">f", bigpacked)[0]
379 packed = struct.pack(">f", big)
380 unpacked = struct.unpack(">f", packed)[0]
386 self.assertRaises(OverflowError, struct.pack, ">f", big)
391 self.assertRaises(struct.error, struct.pack, format, 1.0)
392 self.assertRaises(struct.error, struct.pack, format, 1.5)
393 self.assertRaises(struct.error, struct.pack, 'P', 1.0)
394 self.assertRaises(struct.error, struct.pack, 'P', 1.5)
399 s = struct.Struct(fmt)
408 self.assertRaises(struct.error, s.unpack_from, data, i)
411 self.assertEqual(struct.unpack_from(fmt, data), (b'abcd',))
412 self.assertEqual(struct.unpack_from(fmt, data, 2), (b'cd01',))
413 self.assertEqual(struct.unpack_from(fmt, data, 4), (b'0123',))
415 self.assertEqual(struct.unpack_from(fmt, data, i), (data[i:i+4],))
417 self.assertRaises(struct.error, struct.unpack_from, fmt, data, i)
427 s = struct.Struct(fmt)
441 self.assertRaises((ValueError, struct.error), s.pack_into, small_buf, 0,
443 self.assertRaises((ValueError, struct.error), s.pack_into, small_buf, 2,
448 self.assertRaises((TypeError, struct.error), struct.pack_into, b'', sb,
455 pack_into = lambda *args: struct.pack_into(fmt, *args)
469 self.assertRaises((ValueError, struct.error), pack_into, small_buf, 0,
471 self.assertRaises((ValueError, struct.error), pack_into, small_buf, 2,
475 # SF bug 1563759: struct.unpack doesn't support buffer protocol objects
479 value, = struct.unpack('>I', data)
491 packedFalse = struct.pack(falseFormat, *false)
492 unpackedFalse = struct.unpack(falseFormat, packedFalse)
495 packedTrue = struct.pack(trueFormat, *true)
496 unpackedTrue = struct.unpack(trueFormat, packedTrue)
506 packed = struct.pack(prefix+'?', 1)
508 self.assertEqual(len(packed), struct.calcsize(prefix+'?'))
515 struct.pack(prefix + '?', ExplodingBool())
519 self.fail("Expected OSError: struct.pack(%r, "
523 self.assertTrue(struct.unpack('>?', c)[0])
527 self.assertRaises(struct.error, struct.calcsize, hugecount)
530 self.assertRaises(struct.error, struct.calcsize, hugecount2)
536 self.assertRaises(struct.error, struct.pack, '12345')
537 self.assertRaises(struct.error, struct.unpack, '12345', b'')
538 self.assertRaises(struct.error, struct.pack_into, '12345', store, 0)
539 self.assertRaises(struct.error, struct.unpack_from, '12345', store, 0)
542 self.assertRaises(struct.error, struct.pack, 'c12345', 'x')
543 self.assertRaises(struct.error, struct.unpack, 'c12345', b'x')
544 self.assertRaises(struct.error, struct.pack_into, 'c12345', store, 0,
546 self.assertRaises(struct.error, struct.unpack_from, 'c12345', store,
550 self.assertRaises(struct.error, struct.pack, '14s42', 'spam and eggs')
551 self.assertRaises(struct.error, struct.unpack, '14s42',
553 self.assertRaises(struct.error, struct.pack_into, '14s42', store, 0,
555 self.assertRaises(struct.error, struct.unpack_from, '14s42', store, 0)
561 s = struct.Struct('i')
568 totalsize += struct.calcsize('P3n0P') * (number_of_codes + 1)
569 support.check_sizeof(self, struct.Struct(format_str), totalsize)
591 with self.assertRaisesRegex(struct.error, regex1):
592 struct.pack_into('b', bytearray(1), 5, 1)
599 with self.assertRaisesRegex(struct.error, regex2):
600 struct.unpack_from('b', bytearray(1), 5)
605 struct.error,
607 struct.pack_into('<I', byte_list, -2, 123)
610 struct.error,
612 struct.pack_into('<B', byte_list, -11, 123)
615 struct.error,
617 struct.unpack_from('<I', byte_list, -2)
620 struct.error,
622 struct.unpack_from('<B', byte_list, -11)
631 with self.assertRaisesRegex(struct.error, regex1):
632 struct.pack_into('<I', bytearray(10), sys.maxsize, 1)
639 with self.assertRaisesRegex(struct.error, regex2):
640 struct.unpack_from('<I', bytearray(10), sys.maxsize)
643 # When the second argument of struct.unpack() was of wrong type
647 struct.unpack('b', 0)
649 self.assertEqual(struct.unpack('b', b'a'), (b'a'[0],))
652 s = struct.Struct('=i2H')
656 s2 = struct.Struct(s.format.encode())
661 import struct
665 self.pack = struct.pack
669 struct.x = C()
680 # When we create a new struct module, trigger use of its cache,
696 Struct = struct.Struct
697 unpack_iterator = type(struct.iter_unpack("b", b'x'))
707 with self.assertRaisesRegex(struct.error,
709 struct.calcsize(s)
715 with self.assertRaisesRegex(struct.error, error_msg):
716 struct.pack('H', 70000) # too large
717 with self.assertRaisesRegex(struct.error, error_msg):
718 struct.pack('H', -1) # too small
724 with self.assertRaisesRegex(struct.error, error_msg):
725 struct.pack('h', 70000) # too large
726 with self.assertRaisesRegex(struct.error, error_msg):
727 struct.pack('h', -70000) # too small
732 Tests for iterative unpacking (struct.Struct.iter_unpack).
739 s = struct.Struct('>ibcp')
745 with self.assertRaises(struct.error):
747 with self.assertRaises(struct.error):
749 # Zero-length struct
750 s = struct.Struct('>')
751 with self.assertRaises(struct.error):
753 with self.assertRaises(struct.error):
757 iter_unpack_type = type(struct.Struct(">ibcp").iter_unpack(b""))
761 s = struct.Struct('>IB')
771 s = struct.Struct('>IB')
781 s = struct.Struct('>IB')
795 # Sanity check for the global struct.iter_unpack()
796 it = struct.iter_unpack('>IB', bytes(range(1, 11)))
820 self.assertEqual(f, struct.unpack('<e', le_bits)[0])
821 self.assertEqual(le_bits, struct.pack('<e', f))
822 self.assertEqual(f, struct.unpack('>e', be_bits)[0])
823 self.assertEqual(be_bits, struct.pack('>e', f))
825 self.assertEqual(f, struct.unpack('e', le_bits)[0])
826 self.assertEqual(le_bits, struct.pack('e', f))
828 self.assertEqual(f, struct.unpack('e', be_bits)[0])
829 self.assertEqual(be_bits, struct.pack('e', f))
842 self.assertTrue(math.isnan(struct.unpack('<e', bits)[0]))
843 self.assertTrue(math.isnan(struct.unpack('>e', bits[::-1])[0]))
847 packed = struct.pack('<e', math.nan)
849 packed = struct.pack('<e', -math.nan)
876 self.assertEqual(bits, struct.pack(formatcode, f))
896 self.assertRaises(OverflowError, struct.pack, formatcode, f)
904 self.assertEqual(bits, struct.pack(formatcode, f))