
    <e                         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                     dS dS )
    N)support)AbstractPickleTestsc                   0    e Zd ZddZd ZdZdZd Zd ZdS )OptimizedPickleTestsNc                 L    t          j        t          j        ||fi |          S N)pickletoolsoptimizepickledumps)selfargprotokwargss       ,/usr/lib/python3.11/test/test_pickletools.pyr   zOptimizedPickleTests.dumps
   s'    #FLe$F$Fv$F$FGGG    c                 &    t          j        |fi |S r   )r   loads)r   bufkwdss      r   r   zOptimizedPickleTests.loads   s    |C((4(((r   c                    d t          d          D             }|                    |d                    t          t          j        dz             D ]}t          j        ||          }t          j        |          }|                     ||           |                     |d         |d                    t          j	        |          }t          j        |          }|                     ||           |                     |d         |d                    | 
                    t          j        |           | 
                    t          j        |           d S )Nc                 ,    g | ]}t          |          S  )str).0is     r   
<listcomp>zBOptimizedPickleTests.test_optimize_long_binget.<locals>.<listcomp>   s    +++1A+++r   i     )rangeappendr   HIGHEST_PROTOCOLr   r   assertEqualassertIsr	   r
   assertNotInLONG_BINGETLONG_BINPUT)r   datar   pickled	unpickledpickled2
unpickled2s          r   test_optimize_long_bingetz.OptimizedPickleTests.test_optimize_long_binget   s2   ++c

+++DH62Q677 	; 	;El4//GW--IY---MM)B-2777"+G44Hh//JZ...MM*R.*R.999V/:::V/::::	; 	;r   c                    d}|                      t          j        |           t          j        |          }|                     |g d           |                     |d         |d                    t          j        |          }t          j        |          }|                     |g d           |                     |d         |d                    |                     t          j        |           d S )Ns           ](spamqhamhe.)spamhamr1   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 	fmW---L))	$:$:$:;;;ilIaL111'00\(++
%;%;%;<<<jmZ]33311111r   r   )	__name__
__module____qualname__r   r   test_pickle_to_2x+test_framed_write_sizes_with_delayed_writerr.   r5   r   r   r   r   r      si        H H H H) ) )  37/; ; ; 2 2 2 2 2r   r   c                       e Zd Zd ZdS )MiscTestCasec                 F    h d}t          j        | t          |           d S )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   s3    
 
 
8 	T;\JJJJJJr   N)r6   r7   r8   r   r   r   r   r<   r<   A   s(        K K K K Kr   r<   c                 ^    |                     t          j        t                               |S r   )addTestdoctestDocTestSuiter	   )loadertestspatterns      r   
load_testsr   b   s$    	MM'&{33444Lr   __main__)r   r	   testr   test.pickletesterr   r   unittestTestCaser   r<   r   r6   mainr   r   r   <module>r      s               1 1 1 1 1 1  62 62 62 62 62.0A 62 62 62rK K K K K8$ K K KB  
 zHMOOOOO r   