@@ -1621,48 +1621,6 @@ def test_zip_pickle_strict_fail(self):
1621
1621
self .assertEqual (self .iter_error (z1 , ValueError ), t )
1622
1622
self .assertEqual (self .iter_error (z2 , ValueError ), t )
1623
1623
1624
- def test_zip_pickle_stability (self ):
1625
- # Pickles of zip((1, 2, 3), (4, 5, 6)) dumped from 3.9:
1626
- pickles = [
1627
- b'citertools\n izip\n p0\n (c__builtin__\n iter\n p1\n ((I1\n I2\n I3\n tp2\n tp3\n Rp4\n I0\n bg1\n ((I4\n I5\n I6\n tp5\n tp6\n Rp7\n I0\n btp8\n Rp9\n .' ,
1628
- b'citertools\n izip\n q\x00 (c__builtin__\n iter\n q\x01 ((K\x01 K\x02 K\x03 tq\x02 tq\x03 Rq\x04 K\x00 bh\x01 ((K\x04 K\x05 K\x06 tq\x05 tq\x06 Rq\x07 K\x00 btq\x08 Rq\t .' ,
1629
- b'\x80 \x02 citertools\n izip\n q\x00 c__builtin__\n iter\n q\x01 K\x01 K\x02 K\x03 \x87 q\x02 \x85 q\x03 Rq\x04 K\x00 bh\x01 K\x04 K\x05 K\x06 \x87 q\x05 \x85 q\x06 Rq\x07 K\x00 b\x86 q\x08 Rq\t .' ,
1630
- b'\x80 \x03 cbuiltins\n zip\n q\x00 cbuiltins\n iter\n q\x01 K\x01 K\x02 K\x03 \x87 q\x02 \x85 q\x03 Rq\x04 K\x00 bh\x01 K\x04 K\x05 K\x06 \x87 q\x05 \x85 q\x06 Rq\x07 K\x00 b\x86 q\x08 Rq\t .' ,
1631
- b'\x80 \x04 \x95 L\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x8c \x08 builtins\x94 \x8c \x03 zip\x94 \x93 \x94 \x8c \x08 builtins\x94 \x8c \x04 iter\x94 \x93 \x94 K\x01 K\x02 K\x03 \x87 \x94 \x85 \x94 R\x94 K\x00 bh\x05 K\x04 K\x05 K\x06 \x87 \x94 \x85 \x94 R\x94 K\x00 b\x86 \x94 R\x94 .' ,
1632
- b'\x80 \x05 \x95 L\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x8c \x08 builtins\x94 \x8c \x03 zip\x94 \x93 \x94 \x8c \x08 builtins\x94 \x8c \x04 iter\x94 \x93 \x94 K\x01 K\x02 K\x03 \x87 \x94 \x85 \x94 R\x94 K\x00 bh\x05 K\x04 K\x05 K\x06 \x87 \x94 \x85 \x94 R\x94 K\x00 b\x86 \x94 R\x94 .' ,
1633
- ]
1634
- for protocol , dump in enumerate (pickles ):
1635
- z1 = zip ((1 , 2 , 3 ), (4 , 5 , 6 ))
1636
- z2 = zip ((1 , 2 , 3 ), (4 , 5 , 6 ), strict = False )
1637
- z3 = pickle .loads (dump )
1638
- l3 = list (z3 )
1639
- self .assertEqual (type (z3 ), zip )
1640
- self .assertEqual (pickle .dumps (z1 , protocol ), dump )
1641
- self .assertEqual (pickle .dumps (z2 , protocol ), dump )
1642
- self .assertEqual (list (z1 ), l3 )
1643
- self .assertEqual (list (z2 ), l3 )
1644
-
1645
- def test_zip_pickle_strict_stability (self ):
1646
- # Pickles of zip((1, 2, 3), (4, 5), strict=True) dumped from 3.10:
1647
- pickles = [
1648
- b'citertools\n izip\n p0\n (c__builtin__\n iter\n p1\n ((I1\n I2\n I3\n tp2\n tp3\n Rp4\n I0\n bg1\n ((I4\n I5\n tp5\n tp6\n Rp7\n I0\n btp8\n Rp9\n I01\n b.' ,
1649
- b'citertools\n izip\n q\x00 (c__builtin__\n iter\n q\x01 ((K\x01 K\x02 K\x03 tq\x02 tq\x03 Rq\x04 K\x00 bh\x01 ((K\x04 K\x05 tq\x05 tq\x06 Rq\x07 K\x00 btq\x08 Rq\t I01\n b.' ,
1650
- b'\x80 \x02 citertools\n izip\n q\x00 c__builtin__\n iter\n q\x01 K\x01 K\x02 K\x03 \x87 q\x02 \x85 q\x03 Rq\x04 K\x00 bh\x01 K\x04 K\x05 \x86 q\x05 \x85 q\x06 Rq\x07 K\x00 b\x86 q\x08 Rq\t \x88 b.' ,
1651
- b'\x80 \x03 cbuiltins\n zip\n q\x00 cbuiltins\n iter\n q\x01 K\x01 K\x02 K\x03 \x87 q\x02 \x85 q\x03 Rq\x04 K\x00 bh\x01 K\x04 K\x05 \x86 q\x05 \x85 q\x06 Rq\x07 K\x00 b\x86 q\x08 Rq\t \x88 b.' ,
1652
- b'\x80 \x04 \x95 L\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x8c \x08 builtins\x94 \x8c \x03 zip\x94 \x93 \x94 \x8c \x08 builtins\x94 \x8c \x04 iter\x94 \x93 \x94 K\x01 K\x02 K\x03 \x87 \x94 \x85 \x94 R\x94 K\x00 bh\x05 K\x04 K\x05 \x86 \x94 \x85 \x94 R\x94 K\x00 b\x86 \x94 R\x94 \x88 b.' ,
1653
- b'\x80 \x05 \x95 L\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x8c \x08 builtins\x94 \x8c \x03 zip\x94 \x93 \x94 \x8c \x08 builtins\x94 \x8c \x04 iter\x94 \x93 \x94 K\x01 K\x02 K\x03 \x87 \x94 \x85 \x94 R\x94 K\x00 bh\x05 K\x04 K\x05 \x86 \x94 \x85 \x94 R\x94 K\x00 b\x86 \x94 R\x94 \x88 b.' ,
1654
- ]
1655
- a = (1 , 2 , 3 )
1656
- b = (4 , 5 )
1657
- t = [(1 , 4 ), (2 , 5 )]
1658
- for protocol , dump in enumerate (pickles ):
1659
- z1 = zip (a , b , strict = True )
1660
- z2 = pickle .loads (dump )
1661
- self .assertEqual (pickle .dumps (z1 , protocol ), dump )
1662
- self .assertEqual (type (z2 ), zip )
1663
- self .assertEqual (self .iter_error (z1 , ValueError ), t )
1664
- self .assertEqual (self .iter_error (z2 , ValueError ), t )
1665
-
1666
1624
def test_zip_bad_iterable (self ):
1667
1625
exception = TypeError ()
1668
1626
0 commit comments