@@ -240,14 +240,16 @@ def test_list(self):
240240 self .assertIn (b'ustar/dirtype/' , out )
241241 self .assertIn (b'ustar/dirtype-with-size/' , out )
242242 # Make sure it is able to print unencodable characters
243- self .assertIn (br'ustar/umlauts-'
244- br'\udcc4\udcd6\udcdc\udce4\udcf6\udcfc\udcdf' , out )
245- self .assertIn (br'misc/regtype-hpux-signed-chksum-'
246- br'\udcc4\udcd6\udcdc\udce4\udcf6\udcfc\udcdf' , out )
247- self .assertIn (br'misc/regtype-old-v7-signed-chksum-'
248- br'\udcc4\udcd6\udcdc\udce4\udcf6\udcfc\udcdf' , out )
249- self .assertIn (br'pax/bad-pax-\udce4\udcf6\udcfc' , out )
250- self .assertIn (br'pax/hdrcharset-\udce4\udcf6\udcfc' , out )
243+ def conv (b ):
244+ s = b .decode (self .tar .encoding , 'surrogateescape' )
245+ return s .encode ('ascii' , 'backslashreplace' )
246+ self .assertIn (conv (b'ustar/umlauts-\xc4 \xd6 \xdc \xe4 \xf6 \xfc \xdf ' ), out )
247+ self .assertIn (conv (b'misc/regtype-hpux-signed-chksum-'
248+ b'\xc4 \xd6 \xdc \xe4 \xf6 \xfc \xdf ' ), out )
249+ self .assertIn (conv (b'misc/regtype-old-v7-signed-chksum-'
250+ b'\xc4 \xd6 \xdc \xe4 \xf6 \xfc \xdf ' ), out )
251+ self .assertIn (conv (b'pax/bad-pax-\xe4 \xf6 \xfc ' ), out )
252+ self .assertIn (conv (b'pax/hdrcharset-\xe4 \xf6 \xfc ' ), out )
251253 # Make sure it prints files separated by one newline without any
252254 # 'ls -l'-like accessories if verbose flag is not being used
253255 # ...
0 commit comments