+
    Bi                         R t ^ RIt^ RIHt ^ RIt^ RIt^ RIHt  ! R R]4      t	 ! R R]P                  4      t]R8X  d   ]P                  ! 4        R# R# )	z[Unit tests for the PickleBuffer object.

Pickling tests themselves are in pickletester.py.
N)PickleBuffer)import_helperc                       ] tR t^tRtR# )B N)__name__
__module____qualname____firstlineno____static_attributes__r       -/usr/lib/python3.14/test/test_picklebuffer.pyr   r      s    r   r   c                   h   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )PickleBufferTestc           	        \        V4      ;_uu_ 4       p\        V4      ;_uu_ 4       pV P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP
                  VP
                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  4       VP                  4       4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; iN)
memoryviewassertEqualnbytesreadonlyitemsizeshapestridesc_contiguousf_contiguousformattobytes)selfpbequivmexpecteds   &&&  r   check_memoryview!PickleBufferTest.check_memoryview   s    ^^qE""h  8??;  X->->?  X->->?  (..9  H,<,<=  1F1FG  1F1FG  8??;  h.>.>.@A # ^"" ^^s#   F,EF	F,F)$F,,F=	c                   V P                  \        4      ;_uu_ 4        \        4        R R R 4       V P                  \        4      ;_uu_ 4        \        R4       R R R 4       \        R4      pVP	                  4        V P                  \
        4      ;_uu_ 4        \        V4       R R R 4       R #   + '       g   i     L; i  + '       g   i     Lq; i  + '       g   i     R # ; i)Nfoo   foo)assertRaises	TypeErrorr   r   release
ValueError)r   r    s   & r   test_constructor_failure)PickleBufferTest.test_constructor_failure!   s    y))N *y)) * v			z**O +* *)))
 +**s#   B0CC0C 	C	C'	c                   \        R 4      pV P                  R \        V4      4       \        V4      ;_uu_ 4       pV P	                  VP
                  4       RRR4       \        \        R 4      4      pV P                  R \        V4      4       \        V4      ;_uu_ 4       pV P                  VP
                  4       ^0V^ &   RRR4       V P                  R\        V4      4       R#   + '       g   i     L; i  + '       g   i     L@; i)r&   Ns   0oo)r   r   bytesr   
assertTruer   	bytearrayassertFalse)r   r   r    s   &  r   test_basicsPickleBufferTest.test_basics,   s    &!r+^^qOOAJJ'  )F+,r+^^qQZZ(AaD  	r+ ^
 ^s   C& !C9&C6	9D		c                .   \        R 4      pVP                  4        V P                  \        4      ;_uu_ 4       p\	        V4       RRR4       V P                  R\        XP                  4      4       VP                  4        R#   + '       g   i     LG; i)r&   Nz3operation forbidden on released PickleBuffer object)r   r)   r'   r*   r   assertInstr	exceptionr   r   raisess   &  r   test_releasePickleBufferTest.test_release9   se    &!


z**frN +K&**+	- 	

 +*s   BB	c                    \        R 4      p\        V4      pW!n        \        P                  ! V4      p??\
        P                  ! 4        V P                  V! 4       4       R# r&   N)r   r   cycleweakrefrefgccollectassertIsNone)r   br   wpbs   &   r   
test_cyclePickleBufferTest.test_cycleC   sD    fI!_kk"or


#% r   c                   \         P                  ! R 4      P                  pV! \        \	        ^4      4      RRR7      pV P                  VP                  4       V P                  VP                  4       \        V4      pV P                  W24       VR,          pV P                  VP                  4       V P                  VP                  4       \        V4      pV P                  W24       V! \        \	        ^4      4      RRRR7      pV P                  VP                  4       V P                  VP                  4       \        V4      pV P                  W24       R# )	_testbuffer<ir   r   NN   r   r   r   N      )rQ   rP   )rP      )r   import_modulendarraylistranger/   r   r1   r   r   r"   )r   rT   arrr   s   &   r   test_ndarray_2d PickleBufferTest.test_ndarray_2dL   s   --m<DDd59oVDA(()))*#b&#h))*))*#b&d59oVWTR(()))*#b&r   c                    \        V4      pVP                  4       ;_uu_ 4       pV P                  V\        4       V P	                  WB4       R R R 4       R #   + '       g   i     R # ; ir   )r   rawassertIsInstancer   r"   )r   objr   r   r    s   &&&  r   	check_rawPickleBufferTest.check_rawc   sC    #VVXX!!!Z0!!!+ XXXs   (AA'	c                    R \        R 4      3 F7  pV P                  VR7      ;_uu_ 4        V P                  W4       RRR4       K9  	  R#   + '       g   i     KN  ; i)r&   )r]   N)r0   subTestr^   )r   r]   s   & r   test_rawPickleBufferTest.test_rawi   sE    If-.C#&&s( '& /&&&s   AAc                   \         P                  ! R 4      P                  pV! \        \	        ^4      4      R
RR7      pRpV P                  W#4       V! \        \	        ^4      4      RRR7      pRpV P                  W#4       V! \        \	        ^4      4      RRRR7      pRpV P                  W#4       V! RRRR7      pRpV P                  W#4       R	# )rI   z<hrK   s       s          rN   i  rJ   s     N)rQ   )rM   rQ   )rM   rP   r   )r   rS   rT   rU   rV   r^   )r   rT   rW   r   s   &   r   test_raw_ndarray!PickleBufferTest.test_raw_ndarrayn   s    --m<DDd58nD>+s"d58nF4@Cs"d58nFF!# Ds"cD1#s"r   c                    \        V4      pV P                  \        R 4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)znon-contiguousN)r   assertRaisesRegexBufferErrorr[   )r   r]   r   s   && r   check_raw_non_contiguous)PickleBufferTest.check_raw_non_contiguous   s9    ###K1ABBFFH CBBBs   AA	c                   \         P                  ! R 4      P                  pV! \        \	        ^4      4      RRR7      R,          pV P                  V4       V! \        \	        ^4      4      RRR7      R,          pV P                  V4       R# )rI   rJ   rK   rL   N)   rO   )r   rS   rT   rU   rV   rj   )r   rT   rW   s   &  r   test_raw_non_contiguous(PickleBufferTest.test_raw_non_contiguous   sj    --m<DDd58nD>sC%%c*d59oVDA#F%%c*r   c                    \        R 4      pVP                  4        V P                  \        4      ;_uu_ 4       pVP	                  4        RRR4       R#   + '       g   i     R# ; ir=   )r   r)   r'   r*   r[   r8   s   &  r   test_raw_released"PickleBufferTest.test_raw_released   s@    &!


z**fFFH +***s   AA%	r   N)r   r   r	   r
   r"   r+   r2   r:   rF   rX   r^   rb   re   rj   rn   rq   r   __classdictcell__)__classdict__s   @r   r   r      sG     B	,!'.,)
#*
+ r   r   __main__)__doc__rA   pickler   r?   unittesttest.supportr   r.   r   TestCaser   r   mainr   r   r   <module>r|      sT   
 
    &	 	Cx(( CL zMMO r   