11import unittest
22from test import support
33import binascii
4+ import copy
45import pickle
56import random
67import sys
@@ -626,23 +627,24 @@ def test_compresscopy(self):
626627 # Test copying a compression object
627628 data0 = HAMLET_SCENE
628629 data1 = bytes (str (HAMLET_SCENE , "ascii" ).swapcase (), "ascii" )
629- c0 = zlib .compressobj (zlib .Z_BEST_COMPRESSION )
630- bufs0 = []
631- bufs0 .append (c0 .compress (data0 ))
630+ for func in lambda c : c .copy (), copy .copy , copy .deepcopy :
631+ c0 = zlib .compressobj (zlib .Z_BEST_COMPRESSION )
632+ bufs0 = []
633+ bufs0 .append (c0 .compress (data0 ))
632634
633- c1 = c0 . copy ( )
634- bufs1 = bufs0 [:]
635+ c1 = func ( c0 )
636+ bufs1 = bufs0 [:]
635637
636- bufs0 .append (c0 .compress (data0 ))
637- bufs0 .append (c0 .flush ())
638- s0 = b'' .join (bufs0 )
638+ bufs0 .append (c0 .compress (data0 ))
639+ bufs0 .append (c0 .flush ())
640+ s0 = b'' .join (bufs0 )
639641
640- bufs1 .append (c1 .compress (data1 ))
641- bufs1 .append (c1 .flush ())
642- s1 = b'' .join (bufs1 )
642+ bufs1 .append (c1 .compress (data1 ))
643+ bufs1 .append (c1 .flush ())
644+ s1 = b'' .join (bufs1 )
643645
644- self .assertEqual (zlib .decompress (s0 ),data0 + data0 )
645- self .assertEqual (zlib .decompress (s1 ),data0 + data1 )
646+ self .assertEqual (zlib .decompress (s0 ),data0 + data0 )
647+ self .assertEqual (zlib .decompress (s1 ),data0 + data1 )
646648
647649 @requires_Compress_copy
648650 def test_badcompresscopy (self ):
@@ -651,6 +653,8 @@ def test_badcompresscopy(self):
651653 c .compress (HAMLET_SCENE )
652654 c .flush ()
653655 self .assertRaises (ValueError , c .copy )
656+ self .assertRaises (ValueError , copy .copy , c )
657+ self .assertRaises (ValueError , copy .deepcopy , c )
654658
655659 @requires_Decompress_copy
656660 def test_decompresscopy (self ):
@@ -660,21 +664,22 @@ def test_decompresscopy(self):
660664 # Test type of return value
661665 self .assertIsInstance (comp , bytes )
662666
663- d0 = zlib .decompressobj ()
664- bufs0 = []
665- bufs0 .append (d0 .decompress (comp [:32 ]))
667+ for func in lambda c : c .copy (), copy .copy , copy .deepcopy :
668+ d0 = zlib .decompressobj ()
669+ bufs0 = []
670+ bufs0 .append (d0 .decompress (comp [:32 ]))
666671
667- d1 = d0 . copy ( )
668- bufs1 = bufs0 [:]
672+ d1 = func ( d0 )
673+ bufs1 = bufs0 [:]
669674
670- bufs0 .append (d0 .decompress (comp [32 :]))
671- s0 = b'' .join (bufs0 )
675+ bufs0 .append (d0 .decompress (comp [32 :]))
676+ s0 = b'' .join (bufs0 )
672677
673- bufs1 .append (d1 .decompress (comp [32 :]))
674- s1 = b'' .join (bufs1 )
678+ bufs1 .append (d1 .decompress (comp [32 :]))
679+ s1 = b'' .join (bufs1 )
675680
676- self .assertEqual (s0 ,s1 )
677- self .assertEqual (s0 ,data )
681+ self .assertEqual (s0 ,s1 )
682+ self .assertEqual (s0 ,data )
678683
679684 @requires_Decompress_copy
680685 def test_baddecompresscopy (self ):
@@ -684,6 +689,8 @@ def test_baddecompresscopy(self):
684689 d .decompress (data )
685690 d .flush ()
686691 self .assertRaises (ValueError , d .copy )
692+ self .assertRaises (ValueError , copy .copy , d )
693+ self .assertRaises (ValueError , copy .deepcopy , d )
687694
688695 def test_compresspickle (self ):
689696 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
0 commit comments