@@ -270,112 +270,111 @@ def deserializer(data):
270270 return data .decode ("utf-8" )
271271
272272 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
273- with self .subTest (proto = 5 ):
274- with shelve .BsdDbShelf (
275- berkeleydb .btopen (self .fn ),
276- protocol = proto ,
277- serializer = serializer ,
278- deserializer = deserializer ,
279- ) as s :
280- bar = "bar"
281- bytes_data = b"Hello, world!"
282- bytearray_data = bytearray (b"\x00 \x01 \x02 \x03 \x04 " )
283- array_data = array .array ("i" , [1 , 2 , 3 , 4 , 5 ])
284-
285- s ["foo" ] = bar
286- s ["bytes_data" ] = bytes_data
287- s ["bytearray_data" ] = bytearray_data
288- s ["array_data" ] = array_data
289-
290- if proto == 5 :
291- self .assertEqual (
292- s ["foo" ], f"{ len (type (bar ).__name__ )} "
293- )
294- self .assertEqual (
295- s ["bytes_data" ],
296- f"{ len (type (bytes_data ).__name__ )} " ,
297- )
298- self .assertEqual (
299- s ["bytearray_data" ],
300- f"{ len (type (bytearray_data ).__name__ )} " ,
301- )
302- self .assertEqual (
303- s ["array_data" ],
304- f"{ len (type (array_data ).__name__ )} " ,
305- )
306-
307- key , value = s .set_location (b"foo" )
308- self .assertEqual ("foo" , key )
309- self .assertEqual (value , f"{ len (type (bar ).__name__ )} " )
310-
311- key , value = s .previous ()
312- self .assertEqual ("bytes_data" , key )
313- self .assertEqual (
314- value , f"{ len (type (bytes_data ).__name__ )} "
315- )
316-
317- key , value = s .previous ()
318- self .assertEqual ("bytearray_data" , key )
319- self .assertEqual (
320- value , f"{ len (type (bytearray_data ).__name__ )} "
321- )
322-
323- key , value = s .previous ()
324- self .assertEqual ("array_data" , key )
325- self .assertEqual (
326- value , f"{ len (type (array_data ).__name__ )} "
327- )
328-
329- key , value = s .next ()
330- self .assertEqual ("bytearray_data" , key )
331- self .assertEqual (
332- value , f"{ len (type (bytearray_data ).__name__ )} "
333- )
334-
335- key , value = s .next ()
336- self .assertEqual ("bytes_data" , key )
337- self .assertEqual (
338- value , f"{ len (type (bytes_data ).__name__ )} "
339- )
340-
341- key , value = s .first ()
342- self .assertEqual ("array_data" , key )
343- self .assertEqual (
344- value , f"{ len (type (array_data ).__name__ )} "
345- )
346- else :
347- key , value = s .set_location (b"foo" )
348- self .assertEqual ("foo" , key )
349- self .assertEqual (value , "str" )
350-
351- key , value = s .previous ()
352- self .assertEqual ("bytes_data" , key )
353- self .assertEqual (value , "bytes" )
354-
355- key , value = s .previous ()
356- self .assertEqual ("bytearray_data" , key )
357- self .assertEqual (value , "bytearray" )
358-
359- key , value = s .previous ()
360- self .assertEqual ("array_data" , key )
361- self .assertEqual (value , "array" )
362-
363- key , value = s .next ()
364- self .assertEqual ("bytearray_data" , key )
365- self .assertEqual (value , "bytearray" )
366-
367- key , value = s .next ()
368- self .assertEqual ("bytes_data" , key )
369- self .assertEqual (value , "bytes" )
370-
371- key , value = s .first ()
372- self .assertEqual ("array_data" , key )
373- self .assertEqual (value , "array" )
374-
375- self .assertEqual (s ["foo" ], "str" )
376- self .assertEqual (s ["bytes_data" ], "bytes" )
377- self .assertEqual (s ["bytearray_data" ], "bytearray" )
378- self .assertEqual (s ["array_data" ], "array" )
273+ with self .subTest (proto = proto ), shelve .BsdDbShelf (
274+ berkeleydb .btopen (self .fn ),
275+ protocol = proto ,
276+ serializer = serializer ,
277+ deserializer = deserializer ,
278+ ) as s :
279+ bar = "bar"
280+ bytes_data = b"Hello, world!"
281+ bytearray_data = bytearray (b"\x00 \x01 \x02 \x03 \x04 " )
282+ array_data = array .array ("i" , [1 , 2 , 3 , 4 , 5 ])
283+
284+ s ["foo" ] = bar
285+ s ["bytes_data" ] = bytes_data
286+ s ["bytearray_data" ] = bytearray_data
287+ s ["array_data" ] = array_data
288+
289+ if proto == 5 :
290+ self .assertEqual (
291+ s ["foo" ], f"{ len (type (bar ).__name__ )} "
292+ )
293+ self .assertEqual (
294+ s ["bytes_data" ],
295+ f"{ len (type (bytes_data ).__name__ )} " ,
296+ )
297+ self .assertEqual (
298+ s ["bytearray_data" ],
299+ f"{ len (type (bytearray_data ).__name__ )} " ,
300+ )
301+ self .assertEqual (
302+ s ["array_data" ],
303+ f"{ len (type (array_data ).__name__ )} " ,
304+ )
305+
306+ key , value = s .set_location (b"foo" )
307+ self .assertEqual ("foo" , key )
308+ self .assertEqual (value , f"{ len (type (bar ).__name__ )} " )
309+
310+ key , value = s .previous ()
311+ self .assertEqual ("bytes_data" , key )
312+ self .assertEqual (
313+ value , f"{ len (type (bytes_data ).__name__ )} "
314+ )
315+
316+ key , value = s .previous ()
317+ self .assertEqual ("bytearray_data" , key )
318+ self .assertEqual (
319+ value , f"{ len (type (bytearray_data ).__name__ )} "
320+ )
321+
322+ key , value = s .previous ()
323+ self .assertEqual ("array_data" , key )
324+ self .assertEqual (
325+ value , f"{ len (type (array_data ).__name__ )} "
326+ )
327+
328+ key , value = s .next ()
329+ self .assertEqual ("bytearray_data" , key )
330+ self .assertEqual (
331+ value , f"{ len (type (bytearray_data ).__name__ )} "
332+ )
333+
334+ key , value = s .next ()
335+ self .assertEqual ("bytes_data" , key )
336+ self .assertEqual (
337+ value , f"{ len (type (bytes_data ).__name__ )} "
338+ )
339+
340+ key , value = s .first ()
341+ self .assertEqual ("array_data" , key )
342+ self .assertEqual (
343+ value , f"{ len (type (array_data ).__name__ )} "
344+ )
345+ else :
346+ key , value = s .set_location (b"foo" )
347+ self .assertEqual ("foo" , key )
348+ self .assertEqual (value , "str" )
349+
350+ key , value = s .previous ()
351+ self .assertEqual ("bytes_data" , key )
352+ self .assertEqual (value , "bytes" )
353+
354+ key , value = s .previous ()
355+ self .assertEqual ("bytearray_data" , key )
356+ self .assertEqual (value , "bytearray" )
357+
358+ key , value = s .previous ()
359+ self .assertEqual ("array_data" , key )
360+ self .assertEqual (value , "array" )
361+
362+ key , value = s .next ()
363+ self .assertEqual ("bytearray_data" , key )
364+ self .assertEqual (value , "bytearray" )
365+
366+ key , value = s .next ()
367+ self .assertEqual ("bytes_data" , key )
368+ self .assertEqual (value , "bytes" )
369+
370+ key , value = s .first ()
371+ self .assertEqual ("array_data" , key )
372+ self .assertEqual (value , "array" )
373+
374+ self .assertEqual (s ["foo" ], "str" )
375+ self .assertEqual (s ["bytes_data" ], "bytes" )
376+ self .assertEqual (s ["bytearray_data" ], "bytearray" )
377+ self .assertEqual (s ["array_data" ], "array" )
379378
380379 def test_custom_incomplete_serializer_and_deserializer_bsd_db_shelf (self ):
381380 berkeleydb = import_helper .import_module ("berkeleydb" )
0 commit comments