
    daf                         d dl Z d dlZd dlmZ d dlmZ d dlZd dlZ G d deej                        Z	 G d dej                        Z
d Zed	k(  r ej                          yy)
    N)support)AbstractPickleTestsc                   .    e Zd ZddZd ZdZdZd Zd Zy)OptimizedPickleTestsNc                 V    t        j                  t        j                  ||fi |      S N)pickletoolsoptimizepickledumps)selfargprotokwargss       0/root/Python-3.12.4/Lib/test/test_pickletools.pyr   zOptimizedPickleTests.dumps
   s#    ##FLLe$Fv$FGG    c                 .    t        j                  |fi |S r   )r   loads)r   bufkwdss      r   r   zOptimizedPickleTests.loads   s    ||C(4((r   c                    t        d      D cg c]  }t        |       }}|j                  |d          t        t        j                  dz         D ]  }t        j
                  ||      }t        j                  |      }| j                  ||       | j                  |d   |d          t        j                  |      }t        j                  |      }| j                  ||       | j                  |d   |d          | j                  t        j                  |       | j                  t        j                  |        y c c}w )Ni     )rangestrappendr   HIGHEST_PROTOCOLr   r   assertEqualassertIsr	   r
   assertNotInLONG_BINGETLONG_BINPUT)r   idatar   pickled	unpickledpickled2
unpickled2s           r   test_optimize_long_bingetz.OptimizedPickleTests.test_optimize_long_binget   s    %c
+1A++DH622Q67 	;Ell4/GW-IY-MM)B-27"++G4Hh/JZ.MM*R.*R.9V//:V//:	; ,s   Ec                    d}| j                  t        j                  |       t        j                  |      }| j	                  |g d       | j                  |d   |d          t        j                  |      }t        j                  |      }| j	                  |g d       | j                  |d   |d          | j                  t        j                  |       y )Ns           ](spamqhamhe.)spamhamr-   r      )	assertInr   BINPUTr   r   r    r	   r
   r!   )r   r&   r'   r(   r)   s        r    test_optimize_binput_and_memoizez5OptimizedPickleTests.test_optimize_binput_and_memoize&   s    D 	fmmW-LL)	$:;ilIaL1''0\\(+
%;<jmZ]31r   r   )	__name__
__module____qualname__r   r   test_pickle_to_2x+test_framed_write_sizes_with_delayed_writerr*   r1    r   r   r   r      s'    H)  37/; 2r   r   c                       e Zd Zd Zy)MiscTestCasec                 D    h d}t        j                  | t        |       y )N>O   int4long1long4pyintpysetuint1uint2uint4uint8bytes1bytes4bytes8float8pyboolpydictpylistpylongpynonecode2opfloatnlopcodespybytespyfloatpytuplestring1string4pybufferpystringstringnl	anyobject	pyunicode	read_int4
OpcodeInfo
bytearray8
markobject
read_long1
read_long4
read_uint1
read_uint2
read_uint4
read_uint8
stacksliceStackObjectbytes_typespybytearraypyfrozensetread_bytes1read_bytes4read_bytes8read_float8read_floatnlread_string1read_string4UP_TO_NEWLINEread_stringnldecimalnl_longpybytes_or_strunicodestring1unicodestring4unicodestring8decimalnl_shortread_bytearray8unicodestringnlpyinteger_or_boolstringnl_noescapeArgumentDescriptorread_decimalnl_longread_unicodestring1read_unicodestring4read_unicodestring8TAKEN_FROM_ARGUMENT1TAKEN_FROM_ARGUMENT4read_decimalnl_shortread_unicodestringnlTAKEN_FROM_ARGUMENT4UTAKEN_FROM_ARGUMENT8Uread_stringnl_noescapestringnl_noescape_pairread_stringnl_noescape_pair)not_exported)r   check__all__r	   )r   r   s     r   test__all__zMiscTestCase.test__all__B   s    
8 	T;\Jr   N)r2   r3   r4   r   r7   r   r   r9   r9   A   s    Kr   r9   c                 V    |j                  t        j                  t                     |S r   )addTestdoctestDocTestSuiter	   )loadertestspatterns      r   
load_testsr   b   s    	MM'&&{34Lr   __main__)r   r	   testr   test.pickletesterr   r   unittestTestCaser   r9   r   r2   mainr7   r   r   <module>r      sa       1  62.0A0A 62rK8$$ KB
 zHMMO r   